dbms_sql包怎么才能把记录全部取出?
create or replace procedure ps_copymessage as
tmp number;
row_count integer;
cid integer;
a number;
b number;
stat integer;
tname varchar2(50);
allcount number(10);
begin
CREATE GLOBAL TEMPORARY TABLE MyTempTable
(
a number(10),
b char(10)
)
on commit delete rows;
cid := DBMS_SQL.OPEN_CURSOR;
tname:='a';
DBMS_SQL.PARSE(cid,'select * from '||tname,dbms_sql.native);
DBMS_SQL.DEFINE_COLUMN(cid,1,a);
DBMS_SQL.DEFINE_COLUMN(cid,2,b);
stat := DBMS_SQL.EXECUTE_AND_FETCH(cid);
-- loop
row_count := DBMS_SQL.FETCH_ROWS(cid);
DBMS_SQL.COLUMN_VALUE(cid,1,a);
DBMS_SQL.COLUMN_VALUE(cid,2,b);
insert into a values(row_count,stat);
--end loop;
DBMS_SQL.CLOSE_CURSOR(cid);
end;
我需要从一个表中把部分记录取出来,插入另一个表中,该怎么取呢?
这个循环该怎么做呢?急死了!!
还有个问题,如何在procedure中创建临时表?
如解决,200分送上!谢谢!