为啥 oracle 不支持在单个查询中更新多个表?
Posted
技术标签:
【中文标题】为啥 oracle 不支持在单个查询中更新多个表?【英文标题】:Why don't oracle support Updating multiple table in a single query?为什么 oracle 不支持在单个查询中更新多个表? 【发布时间】:2014-06-03 15:02:37 【问题描述】:下面的sql有效吗?
UPDATE suppliers, contacts
SET suppliers.status = 'Active',
contacts.note = 'Also Supplier'
WHERE suppliers.supplier_id = contacts.contact_id;
但是 oracle 不支持。 为什么?
How to update two tables in one statement in SQL Server 2005?
【问题讨论】:
这不是有效的 sql。 techonthenet.com/sql/update.php 请参考此参考示例 - 更新多个表 该链接完全错误。该语句不是有效的(标准)SQL。 您的查询使用了高度非标准的 SQL 扩展,我相信只有 mysql 支持。所以,从某种意义上说,甲骨文确实支持它(甲骨文公司拥有 MySQL)。 您是否阅读了您链接的 SO 帖子的任何答案?两个都明明说You can't update multiple tables in one statement
【参考方案1】:
否,提供的 sql 无效。
正如其他人在 cmets 中所述,您提供的链接是关于是否可以在 SQL Server 中的单个语句中更新多个表的问题。 这个问题的答案也是否
【讨论】:
以上是关于为啥 oracle 不支持在单个查询中更新多个表?的主要内容,如果未能解决你的问题,请参考以下文章