-
SQLSERVERPagerstoreprocedure分页存储过程
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[Pagination]@Pageint=1,--当前页码@PageSizeint=10,--每页记录条数(页面大小)@Tablenvarchar(500),--表名或视图名,甚至可以是嵌套SQL:(Select*FromTabWhereID>1000)Tab@Fieldnvarchar(800)='*',--返回记录集字段名,","隔开,默认是"*"@OrderBynvarchar(100)='IDASC',--排序规则@Filternvarchar(500),--过滤条件@MaxPagesmallintoutput,--执行结果-1error,0false,maxpagetrue@TotalRowintoutput,--记录总数/*2007-07-1222:11:00update*/@Descriptvarchar(100)output--结果描述ASBEGIN--====================================...
数据库操作教程 2022-09-23 20:38:28 -
SQL中WHERE变量ISNULL条件导致全表扫描问题的解决方法
复制代码代码如下:SET@SQL='SELECT*FROMCommentwith(nolock)WHERE1=1 And(@ProjectIdsIsNullorProjectId=@ProjectIds) And(@ScoresisnullorScore=@Scores)'印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道SqlServer里是否也是一样呢,于是做一个简单的测试1、建立测试用的表结构和索引:复制代码代码如下:CREATETABLEaaa(idintIDENTITY,NAMEVARCHAR(12),ageINT)goCREATEINDEXidx_ageONaaa(age)GO2、插入1万条测试数据:复制代码代码如下:DECLARE@iINT;SET@i=0;WHILE@i<10000BEGIN INSERTINTOaaa(name,age)VALUES(CAST(@iASVARCHAR),@i) SET@i=@i+1;ENDGO3、先开启执行计...
数据库操作教程 2022-09-23 20:36:43 -
sqlserverUnion和SQLUnionAll使用方法
SQLUNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列...
数据库操作教程 2022-09-23 20:36:16 -
sqlserver下Kill所有连接到某一数据库的连接
复制代码代码如下:USEmasterDECLARE@spidintDECLARECURCURSORFORSELECTspidFROMsysprocessesWHEREdbid=5FETCHNEXTFROMCURINTO@spidWHILE@@FETCH_STATUS=0BEGIN--EXEC('KILL'+@spid)FETCHNEXTFROMCURINTO@spidENDCLOSECURDEALLOCATECUR...
数据库操作教程 2022-09-23 20:35:55 -
sqlserverreplace函数批量替换数据库中指定字段内指定字符串参考方法
语法REPLACE('string_expression1','string_expression2','string_expression3')参数说明'string_expression1'待搜索的字符串表达式。string_expression1可以是字符数据或二进制数据...
数据库操作教程 2022-09-23 20:33:52 -
卸载VS2011DeveloperPreview后SqlServer2008R2建立数据库关系图报“找不到指定的模块”错误的解决方法
可怜我的C盘本来只有8.XG,所以不得不卸载掉它。卸载掉本身没啥问题,只是昨晚突然发现SqlServer2008R2ManagementStudio突然不能新建数据库关系图了,一建立就会报“找不到指定的模块(MSVisualDatabaseTools)”的错误:为了这个错误我甚至认真评估了重新配置数据库的可能性...
数据库操作教程 2022-09-23 20:31:51 -
学习SQL语句(强大的groupby与selectfrom模式)
强大的groupby复制代码代码如下:selectstdname,isnull(sum(casestdsubjectwhen'化学'thenResultend),0)[化学],isnull(sum(casestdsubjectwhen'数学'thenResultend),0)[数学],isnull(sum(casestdsubjectwhen'物理'thenResultend),0)[物理],isnull(sum(casestdsubjectwhen'语文'thenResultend),0)[语文]from#studentgroupbystdnamegroupby与sum+case结合,可以将表1中的记录(行)变成表2的字段(列)。Sum里面如果没有case,那么出来的值,只能是全部科目的总和,用了case以后,就是某科的成绩;然后这里用了好几个sum,每个科目一个sum,于是表1中本来某人某科占一条记录的“行”就变成了表2里某人一条记录,每科做一个字段了利用selectfrom(selectfrom)的模式生成SQL语句复制代码代码如下:declare@sqlvarchar(4000...
数据库操作教程 2022-09-23 20:31:24 -
sqlserver清空servicebroker中的队列的语句分享
复制代码代码如下:USETestDBdeclare@conversationuniqueidentifierwhileexists(select1fromsys.transmission_queue)beginset@conversation=(selecttop1conversation_handlefromsys...
数据库操作教程 2022-09-23 20:30:24 -
使用sp_xml_preparedocument处理XML文档的方法
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用MSXML分析器(Msxmlsql.dll)对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据...
数据库操作教程 2022-09-23 20:26:00 -
SQLSELECT语句的表连接
我来给大家介绍join(连接)的概念.为此准备了两个试验用表:album(专辑表)和track(曲目表). 专辑表:包含200首来自Amazon的音乐CD的概要信息。 album(asin,title,artist,price,release,label,rank) 曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息...
数据库操作教程 2022-09-23 20:24:44 -
SQL复合查询条件(AND,OR,NOT)对NULL值的处理方法
NULL值影响查询条件的结果,并且结果很微妙。 以下是SQL中AND,OR,NOT的真值表...
数据库操作教程 2022-09-23 20:24:31 -
SQL中NULL值测试代码
刚刚想从数据库中的表EXPERT_DETAILS中检索出修改人Modifier(类型VARCHAR2(20),可为空)为空的那些记录,因为该字段的类型为VARCHAR2(20),我使用的SQL语句为复制代码代码如下:select*fromexpert_detailstwheret.modifier=''没有检索出一条记录,而这与存储在该表中的记录是不相符的。后来想到即便是空字符型存储在数据库中也应该是NULL而不是''...
数据库操作教程 2022-09-23 20:24:25