SQL简单循环

declare 
 i number :=0;
 j number :=0;
 begin
   -------------------------while循环 --begin-------------------------------------------
   while j < 10 loop
     j:= j+1;---------参数声明一定要有
     --逻辑操作…………
     dbms_output.put_line('while循环'||j);
     exit when j=13;--此处添加跳出循环条件,两个条件只 要有一个符合就条出循环
   end loop;
   -------------------------while循环-- end---------------------------------------------
   
   
   
   
   ---------------------------for循环--begin--------------------------------------------
   for i in 1..10 loop  --注意;此i非定义的i
     --逻辑操作…………
     dbms_output.put_line('for循环'||i);
   end loop;
   ---------------------------for循环--end----------------------------------------------
   
   
   
   
   -------------------------用于游标循环--begin------------------------------------------
   for i in( select empno from emp) loop
   --逻辑操作…………
     dbms_output.put_line(i.serialno);--此处i代表的是select出来的 一条记录
     exit when i.empno='7899';--如果不加条件,则select 出来的每一条都会循环
     end loop;
   -------------------------用于游标循环--end------------------------------------------

 end;

好好学习天天向上



### SQL 中实现循环的方法和语法 在SQL Server中,可以使用`WHILE`语句来创建循环结构。此语句允许重复执行一组T-SQL语句,直到指定条件不再为真为止[^1]。 ```sql DECLARE @Counter INT; SET @Counter = 0; WHILE (@Counter < 5) BEGIN PRINT 'The counter is: ' + CAST(@Counter AS VARCHAR); SET @Counter += 1; END; ``` 除了单的`WHILE`循环外,在某些情况下可能还需要提前退出循环或跳过当前迭代。对于这种情况,可以利用`BREAK`和`CONTINUE`关键字。当满足特定条件下时,`BREAK`会立即终止整个循环过程并跳出;而`CONTINUE`则会使程序忽略本次循环剩下的部分直接进入下一次迭代检查[^2]。 另外一种常见的场景是在处理批量数据更新或插入时应用游标的遍历方式。虽然这不是严格意义上的“循环”,但在实际开发过程中经常被用来逐行读取记录集并对每条记录实施相同的操作: ```sql DECLARE db_cursor CURSOR FOR SELECT name FROM sysobjects WHERE xtype='U'; OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN -- 对每一行做某项操作... FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor; DEALLOCATE db_cursor; ``` 值得注意的是,尽管上述方法可以在SQL环境中模拟出类似于编程语言里的循环行为,但由于SQL本质上是以集合为基础设计的语言,因此尽可能采用基于集合理论的方式编写查询往往可以获得更好的性能表现。例如,尽量减少显式的循环控制转而依赖内置函数或者窗口函数等功能强大的特性来达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值