具有子查询分解的 Oracle DELETE 语句

2023-11-27

尝试执行此操作(适用于 SQL Server):

WITH X AS (), Y AS (), Z AS ()
DELETE FROM TBL
WHERE TBL.ID IN (SELECT ID FROM Z);

这在 Oracle 中有效:

WITH X AS (), Y AS (), Z AS ()
SELECT * FROM TBL
WHERE TBL.ID IN (SELECT ID FROM Z);

但 DELETE 却没有:ORA-00928: 缺少 SELECT 关键字

我的子查询相当大,是否有不同的语法可以使其工作?


除了 SELECT 语句之外,您不能将子查询分解/CTE 与任何其他语句一起使用。从文档中:

您可以在任意位置指定此子句 顶级 SELECT 语句,并且在大多数情况下 子查询的类型。

你可以这样做:

DELETE FROM tbl WHERE tbl.id IN
(WITH X AS (), Y AS (), Z AS ()
SELECT id FROM TBL
 WHERE TBL.ID IN (SELECT ID FROM Z));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有子查询分解的 Oracle DELETE 语句 的相关文章

  • SQL查询json字典数据

    我的表中的 CLOB 字段包含 JSON 如下所示 a value1 b value2 c value3 我正在尝试编写一个 SQL 查询来返回一个包含键和值字段的表 如下所示 key value a value1 b value2 c v
  • 手动将数据库中的数据插入具有 hibernate_sequence @GenerateValue(strategy = GenerationType.TABLE) 的表中

    我有 ID 为 GenerateValue strategy GenerationType TABLE 的表 需要在postgresql生产数据库上手动插入800条记录 我们从oracle迁移到postgresql 很少有用户错误地访问旧链
  • spring boot中如何部分回滚数据,错误待解决

    我在事务中使用表数据创建顺序springboot java jpa and hibernate顺序如下所示 使用的数据库是Oracle 下订单 插入订单详细信息表 处理付款 插入到 payment info 表中 错误消息 信息 警告 错误
  • 如何将今天的日期返回到 Oracle 中的变量

    我想做这个 DECLARE today as smalldatetime SELECT today GetDate 但我需要一个oracle翻译 甲骨文使用SYSDATE 还有 ANSI 标准CURRENT TIMESTAMP 除其他外 S
  • SKIP加锁和nowait的区别

    pl sql 中 SKIP 锁定游标和 nowait 游标之间的区别 我认为我找到的这张图片是描述差异的最佳例子 详细说明 http viralpatel net blogs oracle skip locked
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • 如何使用非标准的一周第一天在 Oracle 中计算一年中的第几周?

    我有一个查询需要返回日期字段的 一年中的第几周 但查询的客户使用非标准的一周第一天 所以TO CHAR with IW 没有返回预期的结果 在这种情况下 一周的第一天是周六 周五是一周的第七天 对于 T SQL 我会使用DATEPART a
  • 清除 Oracle 假脱机中的标题

    在运行下面的命令之前我已经假脱机了一个文件并得到了这样的输出 我已出发 反馈已关闭 SET HEADING OFF SET FEEDBACK OFF SPOOL D TEST TXT SELECT SYSDATE FROM DUAL SPO
  • Oracle SQL-根据记录的日期与历史记录标记记录

    这是我在论坛上的第一篇文章 通常我能够找到我需要的东西 但说实话 我不太确定如何针对该问题提出正确的问题 因此 如果论坛上已经有答案而我错过了 请接受我的歉意 我通过 Benthic Software 在 Oracle 数据库中运行以下代码
  • C# 中的 Oracle 连接 - 连接字符串

    我目前正在尝试用 C 构建一个应用程序并将其连接到在 Oracle 11g 中运行的实时数据库 我有以下连接详细信息 Host IP 10 204 1 3 Port 1521 DB Name PROD 我的源代码 string connSt
  • 在 Oracle 中如何将多行组合成逗号分隔的列表? [复制]

    这个问题在这里已经有答案了 我有一个简单的查询 select from countries 结果如下 country name Albania Andorra Antigua 我想在一行中返回结果 如下所示 Albania Andorra
  • 在 SQL 中搜索 XML 列

    我有一个 XML 文档来存储 Oracle 数据库中的记录 表 CourseXML 将包含 Record Number int XML Type int XMLDoc clob etc 我想通过 XML 标签在 XMLDoc 列中进行搜索
  • 使用 Oracle 数据库的 JOIN 语法进行更新

    首先 我执行以下 SQL 语句 drop table names drop table ages create table names id number name varchar2 20 insert into names values
  • 如何在 PL/SQL 中查找字符串中不同字符的数量和名称[重复]

    这个问题在这里已经有答案了 我对 PL SQL 很陌生 我需要获取字符串中不同字符的名称和计数 例如 如果我有一个字符串str helloexample 我需要获得不同字符的输出str i e heloxamp 我怎样才能做到这一点 您可以
  • 匹配可能存在或可能不存在的组

    我的正则表达式需要解析一个如下所示的地址 BLOOKKOKATU 20 A 773 00810 HELSINKI SUOMI 1 2 3 4 第一组 第二组和第三组将始终存在于地址中 第 4 组可能不存在 我编写了一个正则表达式来帮助我获得
  • 将整数值从数据库列转换为Oracle中的文本

    我对数据库有一个要求 1 表ABC 列 check amount number number 18 4 这基本上包含例如支票金额 3000 50 支付给雇员 现在签发了一张支票 该支票包含数字和文本形式的 check amount 例如 支
  • SQL Fiddle 输出错误

    其实我对 PL SQL 还很陌生 我在 SQL Fiddle 中使用 oracle pl sql 创建了下表 create table Employee name varchar2 100 id integer salary integer
  • Oracle 事务在 C++ 和 Java 之间的传播

    我们有一个现有的 C 应用程序 我们将逐步将其替换为新的基于 Java 的系统 在我们用 Java 完全重新实现所有内容之前 我们期望 C 和 Java 必须相互通信 RMI SOAP 消息传递等 我们尚未决定 现在我的经理认为我们需要 J
  • Oracle Developer Tools for Visual Studio 2019 无法正确安装

    在 VS 2019 中 ODT 使用扩展名安装 而不是像以前的版本那样作为安装文件安装 因此 从 VS 2017 升级的 EF 6 使用的 MVC 项目 edmx 文件在扩展安装后不显示数据库图表 空白黑页 编辑 xml 选项等 仅此而已
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be

随机推荐

  • Android 4.4.2 (KitKat) 上具有自定义布局的 ActionBar 不占据全屏宽度

    我想显示具有自定义布局的操作栏 自定义布局具有三个 ImageView 一个位于操作栏的中央 另外两个位于操作栏的左右两端 不得有后退按钮或操作项 这是我用过的 android support v7 app ActionBar action
  • XSD key/keyref 初学者问题

    我正在尝试实现一个非常简单的 XML 模式约束 The idref元素上的属性 类型应该只是 允许有一个匹配的值 这id至少一个属性 元素 如果这对您来说没有任何意义 那么请查看下面的示例 XML 文档 我认为它实际上比我尝试用文字更好地解
  • java中如何让精灵跳跃?

    我有用于左 右 上 下移动的精灵的 KeyEvents 我只是在闲逛 正在考虑另一个我希望精灵跳跃的项目 它不必完全现实 因为我才刚刚开始 我所拥有的是 当按下空格键时 它将导致精灵跳跃 让我们说 dy 3 那么我就有了 keyReleas
  • 使用 System.DirectoryServices 验证域用户

    给定域用户的用户名和密码 以编程方式验证该用户的最佳方法是什么 NET 3 5 似乎添加了一个新的命名空间来处理此问题 System DirectoryServices AccountManagement 代码示例如下 Private Fu
  • 从电子邮件链接打开 iPhone 应用程序

    我正在开发一个程序 向用户发送电子邮件 并在电子邮件中嵌入打开 iPhone 应用程序的链接 问题是 当用户单击链接打开应用程序时 邮件已删除冒号 因此该链接不再有效 创建的链接基本上如下所示 br br br a href Open Ap
  • 使用 print() 时如何换行和缩进长行?

    我正在使用 Python 从 Web 服务收集数据 数据本身是将呈现给用户的列表 我已经设法将其打印出来 如下所示 1 Example of strings 2 Example 4 3 Another Example 4 Another E
  • 如何获取未合并到 master 中的分支列表(按最近提交排序)?

    对于我们的构建机器人 我想显示最近更新的活动 未发布 分支 假设我有一个master分支 以及以下内容 从最旧到最新的提交 branch1 未合并到master branch2 合并 branch3 未合并 我可以分别获取每个列表 例如获取
  • 我可以在 .NET 中模拟不同 Active Directory 域上的用户吗?

    我有两个 Active Directory 域 A 和 B 域 A 中的用户需要在其桌面上运行应用程序来查看和操作位于域 B 中的服务器上的资源 每个用户在域 B 中也有一个帐户 是否可以模拟每个用户的域 B 身份以编程方式对域 B 资源执
  • Bash 如何检测传递给脚本的缺失强制参数

    我有一个 Bash 脚本 我需要传递一定数量的参数才能使其工作 upload sh ARG1 ARG2 ARG3假设 2 个必填字段是 ARG1 和 ARG2 并且ARG1 和 3 不为空 我认为该脚本将运行并认为它有 2 个强制参数 有没
  • 奇怪的 lambda 行为

    我偶然发现本文我发现它很有趣 所以我自己做了一些测试 测试一 List
  • Angular 7:类型错误:没有“new”就无法调用类构造函数 Observable

    this db object users user uid update name user displayName email user email 收到此错误 core js 9110 ERROR TypeError Class con
  • Windows 上的 Python + webkit + gtk

    我正在尝试执行这个脚本 所见即所得 它说我需要 Gtk 和 WebKit 我认为这就是我所需要的 Gtk WebKit 所以我下载了 WebKit 但我得到的是一个文件夹 而不是安装程序或安装信息 我是否将其移至 python 文件夹中或者
  • 如何将 Eval() 与包含点 (.) 的列名一起使用?

    在我的 SQL Server 表中有一列slno 是的 它包含一个点 在 SQL Server 中工作正常 然而 给出错误 DataBinding System Data DataRowView 不包含名称为 slno 的属性 如何解决这个
  • 在运行时更改数据集连接字符串

    我有一个 C 生成的数据集 如何更改连接字符串 以便可以将数据集与另一个 结构相同但填充不同 数据库一起使用 这必须在运行时发生 因为我在编译时不知道服务器或数据库名称 我正在使用c 2 0 您可以修改表适配器的单个实例 myAdapter
  • 让主线程等待,直到所有其他 Qthread 完成

    有没有办法强制主线程等待 直到从它创建的所有线程完成其工作 然后再完成程序 我是说 int main QthreadClass a in cons a thread is created and running QthreadClass b
  • jquery:测试输入变量是否为dom元素

    我想编写一个 jquery 函数 它接受 dom 元素或其 id 作为输入 function myfunction myinput pseudocode if myinput is dom element var myID myinput
  • 使用 Javascript 每 5 个元素插入

    我有一个通过 CMS ExpressionEngine 控制的简单图像列表 像这样 div class wrapper a href img src a a href img src a a href img src a a href im
  • 在 libgdx 游戏中设置延迟

    我有一个游戏 比如超级跳投 这个游戏是跳跃游戏 我们的角色有生命 与敌人碰撞后 他的生命减少 我想在 1 秒后计算碰撞 我的意思是 在这 1 秒内 如果我的角色与敌人接触 什么也不会发生 他会继续他的方式 为此 我在 GameScreen
  • 使用 C# 将鼠标单击发送到任务栏中的按钮

    在我当前正在开发的应用程序中 要求是将外部应用程序的窗口带到前台 进行 Win32 API 调用 例如 BringWindowToTop 和 SetForeground 窗口 并不总是有效 这是由于 Windows XP 中的一些限制造成的
  • 具有子查询分解的 Oracle DELETE 语句

    尝试执行此操作 适用于 SQL Server WITH X AS Y AS Z AS DELETE FROM TBL WHERE TBL ID IN SELECT ID FROM Z 这在 Oracle 中有效 WITH X AS Y AS