赞
踩
sql 中CURSOR 的使用
CURSOR是游标,常用于脚本处理。
这里主要介绍自己常用的方法,同时也会把网上的一般格式进行解释。
DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段3,... FROM 表名 WHERE ...
OPEN 游标名称
FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,...
WHILE @@FETCH_STATUS=0
BEGIN
SQL语句执行过程... ...
FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,...
END
CLOSE 游标名称
DEALLOCATE 游标名称 (删除游标)
一般格式sql举例如下:
[sql] view plain copy
其中while循环的判断条件:
@@FETCH_STATUS =0 FETCH 语句成功
@@FETCH_STATUS =-1 FETCH 语句失败或此行不在结果集中
@@FETCH_STATUS =-2 被提取的行不存在
DECLARE 游标名称 CURSOR FOR SELECT * FROM 表名 WHERE ...
begin
dbms_output.enable(buffer_size=>null);
for 变量名 in 游标名称 loop
SQL语句执行过程... ... 获取游标里的值 直接用 变量名.字段名
END LOOP;
CLOSE 游标名称
DEALLOCATE 游标名称 (删除游标)
案例: 红色部分是对于第二点常用格式上的添加,使得可以在循环中嵌套循环
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。