开源中文网

您的位置: 首页 > Oracle > 正文

游标 使用 动态SQL

来源:  作者:

declare 
  i integer;
  v_number integer;
  table_name varchar(20);
  sno_ varchar(20);
  sname_ varchar(50);
begin
  table_name :='student';
  i:=DBMS_SQL.open_cursor;
  DBMS_SQL.parse(i,'select sno,sname from '||table_name,DBMS_SQL.v7);
  DBMS_SQL.define_column(i,1,sno_,20);
  DBMS_SQL.define_column(i,2,sname_,20);
--注意 如果建立表的时候指定了精度 最后一个长度必须指定

  v_number:=DBMS_SQL.execute(i);
--注意 必须 要v_number:= 不然 报告错误

  loop
   if(DBMS_SQL.fetch_rows(i)=0) then
     exit;
   else
      DBMS_SQL.column_value(i,1,sno_);
      DBMS_SQL.column_value(i,2,sname_);
      DBMS_OUTPUT.put_line(sno_||' '||sname_);
   end if;
  end loop;
  
end;

Tags:游标 使用
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明