我想在存储过程中创建临时表并在同一个访问它但我得到错误,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;
Run Code Online (Sandbox Code Playgroud)
这是我用来创建临时表的方式,但是我得到了错误,有没有其他方法来执行此任务?
tbo*_*one 16
只需先创建它(一次,在您的程序之外),然后在您的程序中使用它.您不希望(尝试)在每次调用过程时创建它.
create global temporary table tmp(x clob)
on commit delete rows;
create or replace procedure...
-- use tmp here
end;
Run Code Online (Sandbox Code Playgroud)