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
新闻表就是你那个表