在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 试图访问正在使用的事务级临时表”
...全文
329 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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数据库的关键组件,包括PL/SQL编程、索引组织与堆组织的比较、分区的优势、MVCC机制、序列使用、触发器功能、数据泵技术、包与过程、闪回查询、自动存储管理、连接池、游标应用、空间管理、快照与物化视图的区别、NVL和COALESCE函数对比、动态SQL优势、归档日志与非归档日志模式差异、同义词的使用、REDO日志与UNDO数据区别、数据字典功能、异常处理机制、全局临时特性、锁机制类型、分布式事务工作原理、数据库优化方法、RMAN备份与恢复、逻辑备份与物理备份对比、MVCC工作原理、空间作用、归档日志模式与非归档日志模式区别、序列作用、PL/SQL与SQL不同、索引工作原理与类型、分区好处、视图作用与优点、触发器类型与使用、MVCC机制工作、SQL查询优化策略、触发器使用场景、MVCC机制支持的并发控制级别、的分区实现步骤、SQL查询优化步骤、触发器编写与测试、MVCC机制的数据版本化、读取一致性保障、行级锁定与事务ID、Oracle数据库高可用性策略、PL/SQL处理游标方法、视图的逻辑展示与访问控制、序列的唯一数字生成、数据库备份与恢复流程、高可用性实现策略、嵌入式开发环境、音视频基础与直播流媒体技术、图像处理与AR特效、AI音视频处理、测试与基础运维、DevOps工具与实践、操作系统与云计算厂商、自然语言处理、区块链与隐私计算、文档协作与知识管理、版本控制与项目管理、有监督与无监督学习、强化学习、数据安全、数据挖掘、数据结构与算法、非IT技术、自动推理与人工神经网络、自动驾驶技术、数据分析、数据工程、程序设计方法、数据库理论、代码管理工具

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧