gpt4 book ai didi

sql - 从另一个 TABLE (Oracle) 更新 TABLE 中的多个列

转载 作者:行者123 更新时间:2023-12-04 20:19:55 24 4
gpt4 key购买 nike

我想根据另一个表中的值更新一个表中的多个列。

我想我知道如何在 T-SQL 中编写一个更新语句来完成我想要的(尚未测试以下内容)。问题是我正在尝试将其翻译为 Oracle 数据库。有谁知道如何在 Oracle 中执行以下操作:

UPDATE oldauth SET
AUTHUNIQUENAME=newauth.AUTHUNIQUENAME
DESCRIPTION=newauth.DESCRIPTION
MAPPINGAUTHNAME=newauth.MAPPINGAUTHNAME
FROM
(SELECT * FROM USERS1 WHERE AUTHSOURCEID=100) oldauth
LEFT JOIN
(SELECT * FROM USERS2 WHERE AUTHSOURCEID=200) newauth
ON
oldauth.AUTHUSERNAME=newauth.AUTHUSERNAME;

最佳答案

MERGE
INTO (
SELECT *
FROM users1
WHERE AUTHSOURCEID=100
) oldauth
USING (
SELECT *
FROM users2
WHERE AUTHSOURCEID=200
) newauth
ON oldauth.AUTHUSERNAME=newauth.AUTHUSERNAME
WHEN MATCHED THEN
UPDATE
SET AUTHUNIQUENAME=newauth.AUTHUNIQUENAME,
DESCRIPTION=newauth.DESCRIPTION,
MAPPINGAUTHNAME=newauth.MAPPINGAUTHNAME

关于sql - 从另一个 TABLE (Oracle) 更新 TABLE 中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1001753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com