• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

在oracle中动态的修改全局临时表的表结构

birdsmaller 2005-10-14 10:02:27
在存储过程中用这样一条语句动态修改临时表结构,
select count(1) into vCount from user_tab_columns
where upper(TABLE_NAME) = upper('Temp_Table') and Upper(COLUMN_NAME) = Upper('SH'||vMoveTypeCode || 'Money');
if (vCount <= 0 ) then
Execute immediate ('ALTER TABLE Temp_Table ADD SH'||vMoveTypeCode
|| 'Money decimal(20,8) default 0');
end if;

但是在并发的时候就会提示“ora-14450 试图访问正在使用的事务级临时表”
...全文
244 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
birdsmaller 2005-10-17
select 子句缺少into语句
回复
sasacat 2005-10-14
改之前先“select * from Temp_Table for update”这个语句会等待到这个表没人用时锁定这表只让你一个人用。然后你再ALTER TABLE
回复
birdsmaller 2005-10-14
有没有好的方法解决这个问题呢?^_^
回复
sasacat 2005-10-14
报什么错啊
回复
birdsmaller 2005-10-14
好像是不可以的,在存储过程里面都执行不过去:(
回复
birdsmaller 2005-10-14
然后再commit吗?我试试^_^
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2005-10-14 10:02
社区公告
暂无公告