-
SQLcursor用法实例
复制代码代码如下:DECLARE@OldIdvarchar(50) DECLARE@CustomerIDvarchar(50) DECLAREMy_CursorCURSOR--定义游标 FOR(selectCustomerID,oldidfromCustomerwhereArea='bj')--查出需要的集合放到游标中 OPENMy_Cursor;--打开游标 FETCHNEXTFROMMy_CursorINTO@CustomerID,@OldId;--读取第一行数据 WHILE@@FETCH_STATUS=0 BEGIN DECLARE@OtherProVARCHAR(500)  ...
数据库操作教程 2022-09-23 16:46:50 -
如何优化SQL语句的心得浅谈
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表...
数据库操作教程 2022-09-23 16:46:50 -
用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 -
SQL排除重复结果只取字段最大值分享
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。复制代码代码如下:select*from[Sheet1$]awhere IDnotexists(select1from[Sheet1$]wherePID=a.PIDandID>a.ID)selecta.*from[Sheet1$]ainnerjoin(selectPID,max(ID)asmax_idfrom[Sheet1$]groupbyPID)bona.PID=b.PIDanda.ID=b.max_id...
数据库操作教程 2022-09-23 16:46:43 -
sql语句like多个条件的写法实例
表A noname1 lu,li,zhang 2 zhou,wei,liu 3 li,fang 表B noname sex1 li 12 lu 03 zhou 04 zhang 1 怎么实现复制代码代码如下:select*fromAwhereA.namelike(selectB...
数据库操作教程 2022-09-23 16:46:42 -
获取MSSQL表结构中字段的备注、主键等信息的sql
1、MSSQL2000复制代码代码如下:SELECT表名=casewhena.colorder=1thend...
数据库操作教程 2022-09-23 16:46:40 -
SQL进行排序、分组、统计的10个新技巧分享
1.使用排序使数据有序通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDERBY语句可以以字母或数字顺序组织数据...
数据库操作教程 2022-09-23 16:46:29 -
sql将时间类型转换为字符串类型汇总
日期时间转字符串复制代码代码如下:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05...
数据库操作教程 2022-09-23 16:46:28 -
附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法
昨天我只是将数据库附加到SQL2012,然后各个数据库都做了收缩事务日志的操作兼容级别这些都没有改再附加回SQL2005的时候就报错在SQL2012里附加,确实是90级别,但是在SQL2005死活附加不上备份数据库再还原也是一样重建事务日志也是一样然后我做了一个实验,检查一下附加到SQL2012的数据库和附加到SQL2005的数据库,两个数据库的文件头有什么不同注意:两个数据库的兼容级别都是90,附加到SQL2012之后我也没有动过兼容级别!!我们用同一个数据库,分别附加到SQL2005上和SQL2012上,看一下附加之后数据库的文件头有没有改变这个数据库的兼容级别是90的附加到SQL2012之后,我也不改变他的兼容级别查看文件头的SQL语句如下,实际上就是数据库的第0页:复制代码代码如下:DBCCTRACEON(3604,-1)DBCCPAGE(dlgpos,1,0,3)在SQL2012里和SQL2005里都执行一下将结果复制粘贴到一个新建的记事本里,命名好复制代码代码如下:DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系...
数据库操作教程 2022-09-23 16:46:24 -
SQL实现递归及存储过程中In()参数传递解决方案详解
1.SQL递归在SQLServer中,我们可以利用表表达式来实现递归算法,一般用于阻止机构的加载及相关性处理。-->实现:假设OrganiseUnit(组织机构表)中主要的三个字段为OrganiseUnitID(组织机构主键ID)、ParentOrganiseUnitID(组织机构父ID)、OrganiseName(组织机构名称)复制代码代码如下:withorganiseas(select*fromOrganiseUnitwhereOrganiseUnit.OrganiseUnitID=@OrganiseUnitIDunionallselectOrganiseUnit.*fromorganise,OrganiseUnitwhereorganise.OrganiseUnitID=OrganiseUnit.ParentOrganiseUnitID)selectOrganiseNamefromorganise上述sql语句实现了,传入组织机构主键ID,查询出其对应组织机构名称和其全部下级组织机构名称...
数据库操作教程 2022-09-23 16:46:20 -
在SQLServer中使用命令调用SSIS包的具体方法
具体操作步骤如下:1.首先,当然是要在BusinessIntelligence中设计好包,并调试通过。2.然后,有两种方式可以在SQLServer中使用命令运行SSIS包第一种是直接执行ssis包文件,命令如:execxp_cmdshell'dtexec/f"c:test.dtsx"'第二种是将包文件发布或者导入到IntegrationServices服务中,然后再执行...
数据库操作教程 2022-09-23 16:46:18