如何在SQL SERVER 2005存储过程中,使用循环语句
更新时间:2013年06月11日 12:13:12 作者:
本篇文章是对如何在SQL SERVER 2005存储过程中,使用循环语句进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count = 0
SELECT @count = count(*) FROM UserService_User WHERE Account like '%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id FROM UserService_User WHERE Account like '%111%'
exec UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE ……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId 是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
相关文章
SQL 2005使用专用管理员连接(DAC)的技巧及修改系统表的方法
SQL Server 2005 为管理员提供了一种特殊的诊断连接,以供在无法与服务器建立标准连接时使用。2011-07-07详解删除SQL Server 2005 Compact Edition数据库
这篇文章主要介绍了详解删除SQL Server 2005 Compact Edition数据库的相关资料,需要的朋友可以参考下2017-06-06SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
无论是有意无意,如果事务在数据库中保持打开,则它会阻塞其他进程对修改后的数据进行操作。同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直到事务被提交或回滚。2011-05-05SQLServer 2005数据库连接字符串 连接sql2005必备资料
现在好多朋友开始用sqlserver 2005了,因为跟sql2000有区别,所以这里整理了下,需要的朋友可以参考下。2010-04-04
最新评论