sql - 在 select 语句完成之前 Oracle 正在删除我的表
问题描述
在工作中,我们有一个大型 Oracle SQL 查询,旨在根据先前脚本中的分析和表组合输出两个选择语句。在这些选择语句的末尾,我们截断了创建的临时表。我的问题是,在 select 语句有时间运行之前表被截断,导致查询和空表的输出均为 0,现在需要再次运行整个过程以正确填充表。这是我试图帮助自动化的事情,但我一直坚持如何让 Oracle 在触发截断之前等待 select 语句完成处理。很简单,它看起来像:
Select * from temp;
Truncate Table temp;
commit;
解决方案
TRUNCATE
是Oracle中的一个DDL语句,这意味着它可以修改表和数据库的结构,而不是使用TRUNCATE
Why don't you try to change it for a simple DELETE
,这是Oracle中的一个简单的DML语句,只更改数据。
推荐阅读
- node.js - 向 node.js 事件库中的异步侦听器发送时如何修复空参数?
- javascript - 基于滚动位置的 div 位置
- c - 如何在C语言中通过指定的位置编号在“姓氏”中添加数组“姓名”?
- python - 在 Selenium Python 中进入第一个循环时,如何修复“[WinError 10061] 由于目标机器主动拒绝它而无法建立连接”?
- android - 如何在设备上安装期间强制使用 Uses-Feature
- c - 该结构在 C 内部如何工作?如何将数据从一个结构复制到另一个结构?
- python - 在 Python IDLE 中运行的代码为在处理 Python 模式下运行的相同代码提供不同的输出
- php - 即使在其他页面上尝试登录,也会在登录页面上显示错误
- python-3.x - 如何从 PostgreSQL 服务器端游标获取 psycopg2 的描述
- javascript - 无法在步骤定义中使用 pageobject 方法读取未定义的属性“enterText”