我想在存储过程中创建临时表并以相同的方式访问它,但出现错误ORA-00942:Table or view does not exists.
以下是我尝试过的过程,
Create procedure myproc
IS
stmt varchar2(1000);
BEGIN
stmt:='CREATE GLOBAL TEMPORARY table temp(list if columns) ON COMMIT DELETE ROWS';
execute immediate stmt;
insert into temp values('list of column values');
END;
这是我用来创建临时表的方法,但出现错误,还有其他方法来执行此任务吗?
只需首先创建它(一次,在您的过程之外),然后在您的过程中使用它。您不想(尝试)在过程的每次调用时创建它。
create global temporary table tmp(x clob)
on commit delete rows;
create or replace procedure...
-- use tmp here
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)