加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何运用 SQLSERVER2005 的存储过程利用迭代式结构

发布时间:2023-08-04 14:16:31 所属栏目:MsSql教程 来源:
导读:代码如下:

CREAT PROCEDURE tester

AS

BEGIN

SET NOCOUNT ON;

DECLARE @userId varchar(50)

DECLARE @count int

SET @count = 0

SELECT @count = count(*) FROM UserService_User W
代码如下:
 
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为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章