两个很常用的存储过程
1 用于产生10条评论数据
SET
QUOTED_IDENTIFIER
ON
GO
SET
ANSI_NULLS
ON
GO
/**/
/*
存储过程,用于产生10条评论数据
*/
--
------deletefromreviewswhereoperateID>15
--
------
--
------deletefromcontentinfoswhereObjectType=5
ALTER
proc
Create100Comments
as
declare
@i
int
declare
@ContentID
bigint
set
@i
=
1
while
@i
<=
10
begin
BEGIN
TRAN
if
(
@@error
!=
0
)
goto
ErrorHandler
commit
tran
INSERT
INTO
[
ContentInfos
]
(CategoryID,Source,
ObjectType,ClickCount,
ReviewCount,Grade,
VoteCount,CommendCount,
AuthorID,BlogID,
Size,CollectionTime,
IsActive,Keyword,
CollectionUser,OriginalID,
OriginalURL,F1,
F2,F3,
F4)
VALUES
(
15
,
''
,
5
,
100
,
100
,
1000
,
100
,
99
,
54
,
204562
,
10000
,
getdate
(),
0
,
''
,
'
testuser
'
,
999
,
'
testurl
'
,
100
,
100
,
''
,
''
)
SET
@ContentID
=
IDENT_CURRENT(
'
ContentInfos
'
)
INSERT
INTO
Reviews(CellID,PortalID,UserID,ContentID,OperateTitle,OperateContent,OperateDateTime,BlogID,BlogTitle,OperateUserID,UserName,UserNick,CBlogName,OperateEmail,OperateIP,IsAnonymous,IsActive,OperateHomePage,OperateType,OperateValue)
VALUES
(
@i
,
@i
,
@i
,
@ContentID
,
'
操作标题
'
,
'
评论内容1<br>评论内容2<br>评论内容1<br><br><br><br>评论内容2<br><br><br><br><br>评论内容2<br><br><br><br><br>评论内容4<br>
'
,
getdate
(),
@i
,
'
Blog标题
'
,
@i
,
'
用户名称
'
,
'
用户呢称
'
,
'
Blog名称
'
,
'
test@126.com
'
,
'
124.458.135.500
'
,
0
,
1
,
'
http://www.blogcn.com
'
,
1
,
@i
)
if
(
@@error
!=
0
)
goto
ErrorHandler
ErrorHandler:
if
(
@@error
!=
0
)
begin
rollback
tran
end
set
@i
=
@i
+
1
end
GO
SET
QUOTED_IDENTIFIER
OFF
GO
SET
ANSI_NULLS
ON
GO
2 产生分页的存储过程
SET
QUOTED_IDENTIFIER
ON
GO
SET
ANSI_NULLS
ON
GO
/**/
/*
*****Object:StoredProceduredbo.CPP_GetTheLastSchoolsWithPageScriptDate:2006-5-1110:40:08*****
*/
/**/
/*
##SUMMARY查询一个学校的话题或者活动等
*/
--
##REMARKSAuthors:whtDate:2006-6-5
--
##PARAM@PageSize页大小整型INT
--
##PARAM@PageIndex页索引整型INT
--
##PARAM@RowCount总记录数整型INT
--
CPP_GetSchoolThemeWithPageNew10,0,100
create
procedure
CPP_Getthesis_thesisWithPageNew
(
@PageSize
INT
,
@PageIndex
INT
,
@RowCount
INT
--
--@whereClausesvarchar(1000)
)
AS
DECLARE
@SQL
VARCHAR
(
5000
)
declare
@PageCount
int
declare
@currentPageSize
int
--
计算总页数
SET
@PageCount
=
CASE
WHEN
@RowCount
%
@PageSize
=
0
THEN
@RowCount
/
@PageSize
ELSE
@RowCount
/
@PageSize
+
1
END
SET
@PageIndex
=
@PageIndex
+
1
--
第一页
IF
@PageIndex
<=
1
BEGIN
set
@SQL
=
'
selectSchoolName,t.*from(SELECTtop
'
+
cast
(
@PageSize
as
varchar
(
10
))
+
'
ID,Title,Context,CreateTime,BlogID,AuthorBlogName,Author,Type,IsTop,ReplyCount,ReplyTime,ReplyContext,ReplyBlogID,ReplyBlogName,ReplyNickName,SchoolID,SchoolRegionname
FROMSchool_Themes
orderbyiddesc)tinnerjoinschoolvont.SchoolID=v.SchoolIDorderbyiddesc
'
END
ELSE
BEGIN
--
最后一页
IF
@PageIndex
>=
@PageCount
OR
@PageIndex
<=
0
BEGIN
set
@currentPageSize
=
@RowCount
-
(
@PageCount
-
1
)
*
@PageSize
if
(
@currentPageSize
<=
0
)
begin
set
@currentPageSize
=
@PageSize
end
SET
@SQL
=
'
selectSchoolName,t.*
from(SELECTtop
'
+
cast
(
@PageSize
as
varchar
(
10
))
+
'
ID,Title,Context,CreateTime,BlogID,AuthorBlogName,Author,Type,IsTop,ReplyCount,ReplyTime,ReplyContext,ReplyBlogID,ReplyBlogName,ReplyNickName,SchoolID,SchoolRegionname
FROMSchool_Themes
orderbyiddesc)tinnerjoinschoolvont.SchoolID=v.SchoolIDorderbyiddesc
'
END
ELSE
BEGIN
--
中间页(上)
IF
@PageIndex
>
1
AND
@PageIndex
<=
@PageCount
/
2
+
1
BEGIN
SET
@SQL
=
'
SELECTTOP
'
+
CONVERT
(
VARCHAR
(
15
),
@PageSize
)
+
'
SchoolName,t.*
FROM(
SELECTTOP
'
+
CONVERT
(
VARCHAR
(
15
),
@PageSize
)
+
'
ID,Title,Context,CreateTime,BlogID,AuthorBlogName,Author,Type,IsTop,ReplyCount,ReplyTime,ReplyContext,ReplyBlogID,ReplyBlogName,ReplyNickName,SchoolID,SchoolRegionname
FROM(
SELECTTOP
'
+
CONVERT
(
VARCHAR
(
15
),
@pageSize
*
@pageIndex
)
+
'
ID,Title,Context,CreateTime,BlogID,AuthorBlogName,Author,Type,IsTop,ReplyCount,ReplyTime,ReplyContext,ReplyBlogID,ReplyBlogName,ReplyNickName,SchoolID,SchoolRegionname
FROMSchool_Themes
orderbyiddesc
)ASA
orderbyidasc
)AStinnerjoinschoolvont.SchoolID=v.SchoolID
orderbyiddesc
'
END
ELSE
--
中间页(下)
BEGIN
SET
@SQL
=
'
SELECTTOP
'
+
CONVERT
(
VARCHAR
(
15
),
@PageSize
)
+
'
shoolName,t.*
FROM(
SELECTTOP
'
+
CONVERT
(
VARCHAR
(
15
),
@rowCount
-
@pageSize
*
@pageIndex
+
@pageSize
)
+
'
ID,Title,Context,CreateTime,BlogID,AuthorBlogName,Author,Type,IsTop,ReplyCount,ReplyTime,ReplyContext,ReplyBlogID,ReplyBlogName,ReplyNickName,SchoolID,SchoolRegionname
FROMSchool_Themes
orderbyidasc
)AStinnerjoinschoolvont.SchoolID=v.SchoolID
orderiddesc
'
END
END
END
print
@SQL
EXEC
(
@SQL
)
GO
SET
QUOTED_IDENTIFIER
OFF
GO
SET
ANSI_NULLS
ON
GO
3、根据存储过程名取存储过程内容
--
根据存储过程名取存储过程内容
--
调试 GetContentByProcedureName'[dbo].[CPP_CountOfTrdeByUserID]'
alter
procedure
GetContentByProcedureName
(
@ProcedureName
nvarchar
(
500
))
as
if
exists
(
select
*
from
dbo.syscomments
where
id
=
object_id
(N
''
+
@ProcedureName
+
''
))
select
c.
text
,c.encrypted,c.
number
,xtype
=
convert
(
nchar
(
2
),o.xtype),
datalength
(c.
text
),
convert
(
varbinary
(
8000
),c.
text
),
0
from
dbo.syscommentsc,dbo.sysobjectso
where
o.id
=
c.id
and
c.id
=
object_id
(N
''
+
@ProcedureName
+
''
)
order
by
c.
number
,c.colid
option
(robust
plan
)
分享到:
相关推荐
sqlserver 存储过程中的top+变量使用分析(downmoon) ,需要的朋友可以参考下。
一个相当独立的.通用分页控件c#源码(downmoon收集) 采用工厂模式,提供标准化接口!支持 DataGrid 及 Repeater分页使用方法:新建两个解决方案 一为Pager,一为webtest 下载后请将两个解决方案合并一下,即新的...
获取远程网页的内容之二(downmoon原创)
获取远程网页的内容之一(downmoon原创)
在IE中调用javascript打开Excel的代码(downmoon原作)
asp.net中获取远程网页的内容之一(downmoon原创)
asp.net下获取远程网页的内容之二(downmoon原创)
由于微软在vs2005 vsts团队开发版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005 Express,,所以当很多用户同时安装vs2005团队开发?:?sql 2005企业版(downmoon)时,就会出现数据库连接失败的case
在使用vs.php+ sourcesafe管理代码时,发现有时候并不能从vs.net IDE中正确获取phpproj文件下的所有文件。但从sourcesafe IDE下却可以。
在上一篇文章中, UML常见工具之NetBeans(downmoon) 简要介绍了netBeansIDE的UML工具,今天再来看一下更常用的powerDesigner,相信这个工具大多数人不陌生。目前版本是15。真的很感谢Sybase,可以说PowerDesigner...
W3C提供免费的Markup Validation Service,这是一个可以...这是一个基于该服务的C#版本的API类库演示程序。 详细请看这里: http://blog.csdn.net/downmoon/archive/2010/10/17/5946465.aspx 欢迎联系邀月 3w@live.cn
前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级联动,基于此应用,特将三种主要的ajax框架略作整理,方便有需要的朋友查阅。 在示例之前,我们先设置一个演示数据源,新建一个项目...
此源码有问题,请下载downmoon提供的修正版!非常抱歉! http://download.csdn.net/source/2434932
讲座内容: 利用面向对象类型系统是扩展组件的常用方法,但是我们在客户端进行开发的时候也不能忘记正在使用的是JavaScript这个非常灵活的动态语言,使用一些特殊的方式来扩展组件有时候会得到更好的效果。...