Oracle 在存储过程中建立临时表,使用临时表并删除怎么编译不过去?老是报ora-00942:表或视图不存在

Oracle 在存储过程中建立临时表,使用临时表并删除怎么编译不过去?老是报ora-00942:表或视图不存在

问题描述:

我在编写存储过程时,先是见临时表,后在insert里面将临时表作为主关联表使用然后drop掉。但是编译时老是报ora-00942:表或视图不存在。这是怎么回事?有没有大佬知道的!!救救孩子吧!!!

给表名加上双引号试试。

没错的话应该是直接把create 语句写在 在创建语句里了吧 create/truncate/drop都是ddl语句,且此时你的临时表确实不存在,在对你临时表进行增删改时,需要写成

execute immediate 'create .......................';
execute immediate 'insert into ...............................';
execute immediate 'drop table.....................................';