/*
1、光标的属性
%found %notfound
%isopen 判断光标是否打开
%rowcount 影响的行数
2、光标数的限制:默认情况下,oracle数据库只有300个光标
*/
--set serveroutput on
declare
--定义光标
cursor cemp is select empno,empjob from emp;
pempno emp.empno%type;
pjob emp.empjob%type;
begin
--打开光标
open cemp;
loop
--取出一条记录
fetch cemp into pempno,pjob;
exit when cemp%notfound;--属性notfound
--打印rowcount的值
dbms_output.put_line('rowcount:'||cemp%rowcount);--属性rowcount
end loop;
if cemp%isopen then--属性isopen
dbms_output.put_line('光标已经打开');
else
dbms_output.put_line('光标没有打开');
end if;
--关闭光标
close cemp;
end;
--什么时候需要这个/
--/
/*
在SQL Plus里面如果当前用户是scott(用show user即可查看),我们切换为管理员用户:conn sys/929118@127.0.0.1:1521/orcl as sysdba
show parameter abcd:此条语句是模糊查询,会在abcd的前后加上%
show parameter cursor;即可看到cursor的最大值:300
修改光标数的限制
alter system set open_cursors=400 scope=both;
scope的取值:both(同时生效),memory,spfile(数据库需要重启)
memory:只更改当前实例不更改参数文件
*/
在SQL Plus里面如果当前用户是scott(用show user即可查看),我们切换为管理员用户:conn sys/密码@127.0.0.1:1521/orcl as sysdba show parameter abcd:此条语句是模糊查询,会在abcd的前后加上% show parameter cursor;即可看到cursor的最大值:300 修改光标数的限制 alter system set open_cursors=400 scope=both; scope的取值:both(同时生效),memory,spfile(数据库需要重启) memory:只更改当前实例不更改参数文件