oralce存储过程中创建的临时表(或物理表)当打开一个游标进入LOOP后,表或视图不存在

oralce存储过程中,创建了临时表(或物理表),当打开一个游标,进入LOOP后,临时表就找不到了。如果把建表放在LOOP内,每次循环都会重建。谁知道这是咋了。。。。。。... oralce存储过程中,创建了临时表(或物理表),当打开一个游标,进入LOOP后,临时表就找不到了。如果把建表放在LOOP内,每次循环都会重建。谁知道这是咋了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 展开
 我来答
End灬琦琦
2011-10-27 · TA获得超过956个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:196万
展开全部
执行存储过程中,要想执行create。drop一类的语句,不能直接使用,需要执行命令的语句来让他们执行,如下
execute immediate 'create table invbasdoc as select * from test_abcd';
须使用execute immediate命令语句。
提醒一句:创建之前,最好先进行一个是否有这个表的判断,如果有,先删除,再建立,如下:
create or replace procedure wym
authid current_user
is
vn_ctn number(2);
begin
select count(*) into vn_ctn from user_all_tables a where a.table_name like upper('invbasdoc');
if vn_ctn > 0 then
execute immediate 'drop table invbasdoc';
end if;
execute immediate 'create table invbasdoc as select * from test_abcd';
/*后续操作语句*/
end ;

希望对你有帮助,记得采纳哦~~
手机用户39730
2011-10-27 · 超过16用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:67.5万
展开全部
QQ280483600 nzxd伐aò
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式