[本人baidu博客全部搬家到csdn,baidu博客地址:http://hi.baidu.com/new/miracleconf]
隐式游标是Oracle为所有操纵语句(包括只返回单行数据的查询语句)自动声明和操作的一种游标,显式游标是由用户声明和操作的一种游标。
显式游标操作过程主要包括:声明游标,打开游标,提取游标,关闭游标。
声明格式:
CURSOR cursor_name[(arg1 arg1_datatype[,arg2 arg2_datatype]...)]
[RETURN return_datatype]
select statement;
打开格式:
OPEN cursor_name[(arg1 arg1_datatype [,arg2 arg2_datatype]...)];
提取格式:
fetch CURSOR_NAME into {VARIABLE_LIST|RECORD_VARIABLE};
关闭格式:
CLOSE cursor_name;
Oracle为每一个不属于显示游标的DML语句都创建一个隐式游标。隐式游标的名称是SQL.不能对SQL游标显式地执行OPEN,FETCH,CLOSE语句。Oracle隐式地打开,提取,关闭SQL游标。
隐式例子:(通过访问SQL游标的%ROWCOUNT属性来了解修改了多少行)
SQL> get e:\myplsql\curexp2.txt
1 DECLARE
2 v_rows NUMBER;
3 BEGIN
4 UPDATE emp SET comm=1000 WHERE deptno=10;
5 v_rows:=SQL%ROWCOUNT;
6 DBMS_OUTPUT.PUT_LINE('给部门10的'||v_rows||'个雇员每人加了100元补助');
7*END;
SQL>/
给部门10的3个雇员每人加了100元补助