SQL SERVER數(shù)據(jù)庫中存儲過程使用循環(huán)語句
SQL SERVER數(shù)據(jù)庫建立存儲過程時,可以使用循環(huán)語句,下面就將為您介紹這種SQL SERVER數(shù)據(jù)庫中存儲過程使用循環(huán)語句的方法,供您參考。
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上測試通過,值得注意的是,循環(huán)體中,語句是使用BEGIN……END包括的,而不是網(wǎng)絡上常說的WHILE ……END WHILE結構,其他的循環(huán)語句,如LOOP ……UNTIL……END LOOP也不能通過編譯,也許是版本的問題,但在SQL SERVER2005中,循環(huán)體使用BEGIN……END就可以,而不能使用網(wǎng)絡上常說的WHILE ……END WHILE結構。
2、循環(huán)體中 UserService_RemoveUserByUserId 是一個存儲過程的名稱,@userId為該存儲過程的參數(shù),如果有多個參數(shù),使用“,”分開就可以了,這也是存儲過程調(diào)用另一個存儲過程的一種方法。
【編輯推薦】
SQL Server中一個語句塊實現(xiàn)多條語句插入的方法
SQL Server數(shù)據(jù)庫用戶創(chuàng)建的方法(使用SQL語句)