-
自己收集比较强大的分页存储过程推荐
(下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。)朋友的比较好的存储过程...
数据库操作教程 2022-09-23 20:33:10 -
分页存储过程(三)在sqlserver中打造更加准确的分页结果
有人提出游标不好,会锁定行,幸亏我锁定的是临时表,不是数据表,不影响数据表的写操作。下面是14楼的回复,让我茅塞顿开,于是有了今天的改进版,取消了游标的使用,临时表还是存在的,谢谢...
数据库操作教程 2022-09-23 20:26:48 -
SQL里类似SPLIT的分割字符串函数
一,用临时表作为数组复制代码代码如下:createfunctionf_split(@cvarchar(2000),@splitvarchar(2))returns@ttable(colvarchar(20))asbeginwhile(charindex(@split,@c)<>0)begininsert@t(col)values(substring(@c,1,charindex(@split,@c)-1))set@c=stuff(@c,1,charindex(@split,@c),'')endinsert@t(col)values(@c)returnendgoselect*fromdbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')dropfunctionf_splitcol--------------------dfkddfdkdfdfdkfdffjk(所影响的行数为4行)二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。复制代码代码如下:CREATEfunctionG...
数据库操作教程 2022-09-23 20:26:11 -
sqlserver支持定位当前页,自定义排序的分页SQL(拒绝动态SQL)
1,场景:根据学生编号查询,返回该学生所在班级的所有学生。支持分页、自定义排序及结果集自动定位到查询条件的学生编号所在页...
数据库操作教程 2022-09-23 20:26:01 -
针对SQL2000的分页存储过程代码分享
复制代码代码如下:------------------------------------------------------针对SQL2000的分页存储过程--Time:2008-9-25----------------------------------------------------ALTERPROCEDURE[dbo].[uoSp_RecordPager]--要分页显示的表名,可多表连查,但不能使用别名。--例:uo_ArticleLEFTJOINuo_ArticleClassONuo_Article.AClassID=uo_ArticleClass.ID@Table_infovarchar(100),--用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段@field_idnvarchar(1000),--要显示的页码@CurrentPageint=1,--每页的大小(记录数)@PageSizeint=10,--以逗号分隔的要显示的字段列表,如果不指定,则为*...
数据库操作教程 2022-09-23 20:23:11 -
分页存储过程(用存储过程实现数据库的分页代码)
复制代码代码如下:--*******************************************************--*分页存储过程*--*撒哈拉大森林*--*2010-6-28*--*******************************************************ifexists(select*fromsysobjectswheretype='P'andname=N'P_Paging')dropprocedureP_PaginggocreateprocedureP_Paging@SqlStrnvarchar(4000),--查询字符串@CurrentPageint,--第N页@PageSizeint--每页行数assetnocountondeclare@P1int,--P1是游标的id@rowcountintexecsp_cursoropen@P1output,@SqlStr,@scrollopt=1,@ccopt=1,@rowcount=@rowcountoutputselectceiling(1.0*@rowcount/@PageSi...
数据库操作教程 2022-09-23 20:15:59 -
sqlupdate触发器可获得被update的行的信息
复制代码代码如下:createtriggerTgNameontbforupdateasifupdate(recommend)beginupdatetbsetcommenddate=(getdate())fromtbinnerjoininsertedontb.vlistid=Inserted.vlistidendrecommend表示被更新的字段.关键在于Inserted表触发器语句中使用了两种特殊的表:deleted表和inserted表。Deleted表用于存储DELETE和UPDATE语句所影响的行的复本...
数据库操作教程 2022-09-23 20:15:15 -
分页存储过程(二)在sqlserver中返回更加准确的分页结果
在我的使用SQLServer2005的新函数构造分页存储过程中,我提到了使用ROW_NUMBER()函数来代替top实现分页存储过程。但是时间长了,又发现了新问题,就是主子表的分页查询...
数据库操作教程 2022-09-23 20:15:01 -
SqlServer数据把列根据指定内容拆分数据的方法实例
今天由于工作需要,需要把数据把列根据指定的内容拆分数据其中一条数据实例 selectid,XXXXFROMBIZ_PAPERwhere id='4af210ec675927fa016772bf7dd025b0' 拆分方法:selectt3.id,t3.XXXXasXXXXfrom(selectA.id,B.XXXXfrom(SELECTid,XXXX=CONVERT(xml,'<root><v>'+REPLACE(XXXX,',','</v><v>')+'</v></root>')FROMBIZ_PAPER)Aouterapply(SELECTXXXX=N.v.value('.','varchar(100)')FROMA.XXXX.nodes('/root/v')N(v))B)t3wheret3.id='4af210ec675927fa016772bf7dd025b0'结果 在自己研究这行代码之后,做出如下讲解,如果有错误的地方还请指教SELECTid,XXXX=CONVER...
数据库操作教程 2022-09-23 18:25:31 -
SqlServer在事务中获得自增ID的实例代码
SqlServer在事务中获得自增ID实例代码在sqlserver中插入数据时,如何返回自增的主键ID,方式有很多,这里提供一种。代码如下:USEtempdbgoCREATETABLEtable1(idINT,employeeVARCHAR(32))goINSERTINTOtable1VALUES(1,'one')INSERTINTOtable1VALUES(2,'two')INSERTINTOtable1VALUES(3,'three')INSERTINTOtable1VALUES(4,'four')GOCREATETABLEtable2(idINTIDENTITY(1,1),employeeVARCHAR(32))GO--=================================--用OUTPUT把ID插入@MyTableVar--=================================DECLARE@MyTableVarTABLE(idINT)INSERTINTOtable2(employee)OUTPUTINSERTED.idINTO@MyTabl...
数据库操作教程 2022-09-23 18:21:06 -
SQLServer中修改“用户自定义表类型”问题的分析与方法
前言SQLServer开发过程中,为了传入数据集类型的变量(比如接受C#中的DataTable类型变量),需要定义“用户自定义表类型”,通过“用户自定义表类型”可以接收二维数据集作为参数,在需要修改“用户自定义表类型”的时候,增加字段,删除字段,修改字段类型等,它没有像表一样的altertable语法来进行修改。只能通过删除重建来实现,但是在删除“用户自定义表类型”的时候会提示有对象引用它(某些存储过程用到了这个“用户自定义表类型”),因此无法删除...
数据库操作教程 2022-09-23 18:17:31