如何实现Oracle数据库中的动态游标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现Oracle数据库中的动态游标相关的知识,希望对你有一定的参考价值。
create or replace procedure P_TEST_SQL is
TYPE ref_cursor_type IS REF CURSOR; --定义一个动态游标
tablename varchar2(200) default \'ess_client\';
v_sql varchar2(1000);
mobile varchar2(15);
usrs ref_cursor_type;
begin
--使用连接符拼接成一条完整SQL
v_sql := \'select usrmsisdn from \'||tablename||\' where rownum < 11\';
--打开游标
open usrs for v_sql ;
loop
fetch usrs into mobile;
exit when usrs%notfound;
insert into tmp(usrmsisdn) values(mobile);
end loop;
close usrs;
commit;
end P_TEST_SQL;
(1)定义游标
(2)定义游标变量
(3)使用for循环来使用这个游标declare --类型定义 cursor c_job is select empno,ename,job,sal from emp where job='MANAGER'; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型 c_row c_job%rowtype;begin for c_row in c_job loop dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal); end loop;end;
以上是关于如何实现Oracle数据库中的动态游标的主要内容,如果未能解决你的问题,请参考以下文章