Oracle的游标-CURSOR
程序员文章站
2024-02-10 13:04:22
...
oracle的游标使用:PL/SQL包含显式游标和隐式游标两种类型,其中隐式游标用于处理select into和DML语句,而显式游标则专门用于处理select语句返回的多行数据。使用显式游标包括定义游标、打开游标、提取游标和关闭游标四个阶段:
1.cursor 定义游标
2.open 打开游标
3.fetch 提取游标
4.close 关闭游标
实用记忆技巧(dofw)
d: declare 定义;
o: open 打开游标;
f: fetch 游标下移;
w: while 循环。
在块中使用DDL 和 select查询-------EXECUTE IMMEDIATE
例如:
EXECUTE IMMEDIATE 'create table t1';
EXECUTE IMMEDIATE 'select * from emp';
游标使用的例子:
--更新员工工资,sal低于3000的,加500(隐式游标对象SQL)
DECLARE
v_sal emp.sal%TYPE;
BEGIN
UPDATE emp SET sal=sal+500
WHERE sal<=3000;
dbms_output.put_line(SQL%Rowcount);
--COMMIT;
END;
--用显式游标打印各部门的信息(口诀:dofw)
DECLARE
CURSOR my_cus IS SELECT * FROM emp;
my_row my_cus%ROWTYPE;
BEGIN
OPEN my_cus;
FETCH my_cus INTO my_row;
WHILE(my_cus%FOUND)
LOOP
dbms_output.put_line(my_row.ename||','||my_row.sal);
FETCH my_cus INTO my_row;
END LOOP;
CLOSE my_cus;
END;