sqlserver循環語句
declare @i int
set @i = 0
while @i < 100
begin
print @i
set @i = @i + 1
end
-- 定義循環變數
declare @loopIndex int set @loopIndex = 0
--定義循環次數
declare @count int set @count=1
-- 取得循環次數
select @count=count(1) from sys_user
-- 開始循環
while @loopIndex <= @count
begin
-- 定義接收參數
declare @USER_NAME nvarchar(50)
-- 取得循環的數據
SELECT @USER_NAME = hh.USER_NAME
FROM (SELECT ROW_NUMBER() OVER (ORDER BY USER_NAME) 'rowindex',USER_NAME FROM sys_user)hh
WHERE hh.rowindex = @loopIndex
-- 進行相關業務邏輯 例如輸出結果
print @USER_NAME
-- 循環自動加一
set @loopIndex = @loopIndex + 1
end
begin
-- 定義錯誤返回信息
declare @error int
-- 定義接收參數
declare @User_Name varchar(50)
declare @Address varchar(50)
set @error=0
--定義游標
declare demo_cursor cursor
for (select User_Name,Address from sys_user)
--打開游標--
open demo_cursor
--開始循環游標變數--
fetch next from demo_cursor into @User_Name,@Address
while @@FETCH_STATUS = 0 --返回被 FETCH語句執行的最後游標的狀態--
begin
print @User_Name+'____'+@Address
set @error= @error + @@ERROR --記錄每次運行sql後是否正確,0正確
fetch next from demo_cursor into @User_Name,@Address --轉到下一個游標,沒有會死循環
end
close demo_cursor --關閉游標
deallocate demo_cursor --釋放游標
end
更多內容請訪問: https://mxdqh.top/
❷ sqlserver 有幾種循環
正常循環有兩類循環,普通循環和游標循環
普通循環:while,for ,WHILE LOOP
游標循環:針對你select出來的值進行循環
除了上述那些還有復活形的多游標,嵌套循環等。
❸ sql server中do while循環怎麼寫
設置重復執行 SQL 語句或語句塊的條件。只要指定的條件為真,就重復執行語句。 可以使用 BREAK 和 CONTINUE 關鍵字在循環內部控制 WHILE 循環中語句的執行。
1.WHILE 循環
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
END
GO
ResultSet:
1
2
3
4
5
2.WHILE 循環裡面加 BREAK 關鍵字
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
IF @intFlag = 4
BREAK;
END
GO
ResultSet:
1
2
3
3.WHILE 循環裡面加CONTINUE 加 BREAK 關鍵字
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
CONTINUE;
IF @intFlag = 4 -- This will never executed
BREAK;
END
GO
ResultSet:
1
2
3
4
5
參考鏈接:http://msdn.microsoft.com/zh-cn/library/ms178642.aspx
❹ sqlserver怎麼循環
打開sql server management studio管理工具,點擊【新建查詢】菜單按鈕,就會出現一個空白的窗口,這個窗口是用來寫sql語句的,本文所有的演示sql語句都在這個窗口完成
❺ 一個sqlserver的循環查詢刪除的SQL語句
我寫給你
CREATE PROCEDURE xinwen
(@ID int)
AS
CREATE TABLE #t_Level(ID int,Level int)
DECLARE @Level int
BEGIN
SET @Level=1
INSERT t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT t_Level SELECT a.ID,@Level
FROM 新聞表 a,t_Level b
WHERE a.prents=b.ID
AND b.Level=@Level-1
END
delete from 新聞表 where id in (select id from #t_Level)
END
GO
新聞表就是你那個表