PL/SQL 游标的使用

星期天和柳平研究触发器(trigger)和游标(cursor)的使用,今天总结如下:

先总结游标的使用,触发器后续再写~

定义:用游标来指代一个DML SQL操作返回的结果集。即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。

Declare--声明
sn Varchar(
200);  --定义变量
operation_id Varchar(
10);  --定义变量
Cursor cursor_1 Is   
--定义游标
Select module_unique_id,op_id From r_wip_panel Where op_id=
'PALLET'--sql语句 游标就是用来保存查询的结果集

/*其含义是定义一个游标cursor_1,其代表着r_wip_panel表中所有op_id字段为PALLET的结果集。
当需要操作该结果集时,必须完成三步:打开游标、使用fetch语句将游标里的数据取出、关闭游标。*/


Begin    
--开始执行
Open cursor_1; 
--打开游标
Loop   
--循环
Fetch cursor_1 Into sn,operation_id;  
--抓取游标数据,并储存到变量中
Insert Into test(module_unique_id,op_id) Values(sn,operation_id); 
--将变量值插入到表test
Exit When cursor_1%Notfound;     
--当取值完成,为空后 退出循环
End Loop;      
--结束循环
Close cursor_1; 
--关闭游标
End;  
--执行结束

 

执行结果:

 

原文地址:https://www.cnblogs.com/lidonghao/p/2958914.html