-
oracle重置序列从指定数字开始的方法详解
重置oracle序列从指定数字开始复制代码代码如下:declarennumber(10);v_startnumnumber(10):=10000001;--从多少开始v_stepnumber(10):=1;--步进tsqlvarchar2(200);v_seqnamevarchar2(200):='MIP_JF_SEQUENCE';--序列名beginexecuteimmediate'select'||v_seqname||'.nextvalfromdual'inton;n:=v_startnum-n-v_step;--从10000001开始tsql:='altersequence'||v_seqname||'incrementby'||n;executeimmediatetsql;executeimmediate'select'||v_seqname||'.nextvalfromdual'inton;tsql:='altersequence'||v_seqname||'incrementby'||v_step;executeimmediatetsql;end; 不通过删除重...
数据库操作教程 2022-09-23 16:49:52 -
通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据
使用T_SQL创建数据库TestSchool创建一个学生表TblStudent创建学生成绩表TblScoreqtScoreId(成绩id,主键,自动编号)、tSId(学生编号)、tEnglish(英语成绩)、tMath(数学成绩)创建老师表TblTeacherqtTId、tTName、tTGender、tTAge、tTSalary、tTBirthday并使用T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填入数据。(1)Insertinto表(列)select列1,列2union2)Insertinto表(列)select列1,列2from表3)Select列into新表名from旧表)复制代码代码如下:createdatabaseTestSchoolonprimary(name='TestSchool',filename='F:SQLServerTestSchool.mdf',size=10mb,filegrowth=10,maxsize=100mb)logon(name='TestSchool_log',filename='F:SQLServerTestSchool_l...
数据库操作教程 2022-09-23 16:49:15 -
SQLSERVER中得到执行计划的两种方式
得到执行计划的方式有两种:1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。这些开关最常用的有复制代码代码如下:SETSHOWPLAN_ALLONSETSHOWPLAN_ALLON--(是不是reuse了一个执行计划,SQSERVERL有没有觉得缺少索引),只能在XML的输出里看到SETSTATISTICSPROFILEON还有如果使用SSMS的话,可以用快捷键:Ctrl+L小写L他会执行你的语句并显示执行计划,但是不会返回结果集 2、另一种方法是使用SQLTrace里的事件跟踪来跟踪语句的执行计划...
数据库操作教程 2022-09-23 16:48:00 -
SQL中Group分组获取TopN方法实现可首选row_number
有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万数据,做了如下系列测试:复制代码代码如下:CREATETABLE[dbo].[products]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)NULL,[addtime][datetime]NULL,[city][nvarchar](10)NULL,CONSTRAINT[PK_products]PRIMARYKEYCLUSTERED([id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]1、采用row_number方法,执行5次,平均下来8秒左右,速度最快。复制代码代码如下:selectno,id,name,cityfrom(selectno=row_number()over(pa...
数据库操作教程 2022-09-23 16:47:47 -
SQL级联删除与级联更新的方法
复制代码代码如下:ondeletecascade当你更新或删除主键表时,那么外键表也会跟随一起更新或删除,需要在建表时设置级联属性CREATETABLECountries(CountryIdINTPRIMARYKEY)INSERTINTOCountries(CountryId)VALUES(1)INSERTINTOCountries(CountryId)VALUES(2)INSERTINTOCountries(CountryId)VALUES(3)CREATETABLECities(CityIdINTPRIMARYKEY ,CountryIdINTREFERENCESCountriesONDELETECASCADE);INSERTINTOCitiesVALUES(1,1)INSERTINTOCitiesVALUES(2,1)INSERTINTOCitiesVALUES(3,2)CREATETABLEBuyers(CustomerIdINTPRIMARYKEY,CityIdINTREFERENCESCitiesONDELETECASCADE);INSERTINTOBuyers&...
数据库操作教程 2022-09-23 16:47:39 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48 -
获取MSSQL表结构中字段的备注、主键等信息的sql
1、MSSQL2000复制代码代码如下:SELECT表名=casewhena.colorder=1thend...
数据库操作教程 2022-09-23 16:46:40 -
判断数据库表是否存在以及修改表名的方法
一、判断数据库表是否存在:首先要拿到数据库连接conn,调用DatabaseMetaDatadbmd=conn.getDataMeta();之后调用如下方法:复制代码代码如下:/***根据表名,判断数据库表是否存在*@paramtableName*@returntrue:存在该表,false:不存在该表*/publicbooleanhasTable(StringtableName){Init();booleanresult=false;//判断某一个表是否存在try{ResultSetset=dbmd...
数据库操作教程 2022-09-23 16:46:37 -
查询存储过程中特定字符的方法
把xx替换成具体字符,如“深圳”,sql语句如下:复制代码代码如下:select*fromuser_sourcetwhereinstr(lower(t.text),'xx')>0;select*fromall_sourcetwheret...
数据库操作教程 2022-09-23 16:46:32