oracle游标使用全解(Oracle cursor using full solution)——声明游标;光标cursor_name是select_statement
——循环游标
-(1)定义游标
-(2)定义游标变量
-(3)使用为循环来使用这个游标
声明
——类型定义
光标c_job
选择编号,姓名,工作,萨尔
从EMP
当工作= 'manager”;
——定义一个游标变量v_cinfo c_emp %ROWTYPE,该类型为游标c_emp中的一行数据类型
c_row c_job %ROWTYPE;
开始
在c_job环c_row
dbms_output。put_line(c_row。EMPNO | |”的| | c_row。ename | | ' - ' | | c_row。工作| |”-“| | c_row。萨尔);
结束循环;
结束;
取出游标
——使用的时候必须要明确的打开和关闭
声明
——类型定义
光标c_job
选择编号,姓名,工作,萨尔
从EMP
当工作= 'manager”;
——定义一个游标变量
c_row c_job %ROWTYPE;
开始
打开c_job;
—提取一行数据到c_row
取c_job为c_row;
——判读是否提取到值,没取到值就退出
——取到值c_job %不是假
——取不到值c_job %不是真实
退出时未c_job %;
dbms_output。put_line(c_row。EMPNO | |”的| | c_row。ename | | ' - ' | | c_row。工作| |”-“| | c_row。萨尔);
结束循环;
——关闭游标
近c_job;
结束;
1:任意执行一个更新操作,用隐式游标SQL的属性%,% % %行数,
发现,开放观察更新语句的执行情况。
开始
更新设置ename = 'aleark EMP在EMPNO = 7469;
如果SQL分开放然后
dbms_output put_line('openging”);
其他的
dbms_output put_line('closing”);
oracle中trunc函数用法最后如果;
如果到了sql %
dbms_output。put_line('游标指向了有效行”);——判断游标是否指向有效行
其他的
dbms_output put_line(“对不起”);
最后如果;
如果SQL %不那么
dbms_output put_line('also抱歉);
其他的
dbms_output put_line('haha”);
最后如果;
dbms_output put_line(SQL %行数);
例外
当no_data_found然后
dbms_output。put_line(对不起没有数据);当too_many_rows然后
dbms_output。put_line(太多行);
结束;
声明
empnumber EMP empno %型;
你的EmpName EMP ENAME %型;
开始
如果SQL分开放然后
dbms_output。