gpt4 book ai didi

sql - 更新查询在 SQL Server 中运行,但不在 Oracle 中运行

转载 作者:行者123 更新时间:2023-12-02 08:57:02 25 4
gpt4 key购买 nike

我需要此更新查询在 SQL Server 和 Oracle 上运行。如果重要的话,我们的 Oracle 版本是 10.2。当我在 Oracle 中运行查询时,出现“ERROR ORA-00933:SQL 命令未正确结束”。我需要做什么才能让它在 Oracle 中运行?

UPDATE dbo.tableUpdate
SET fieldA = tt.fieldB
FROM dbo.tableTranslate tt
WHERE
tt.fieldC = dbo.tableUpdate.fieldC
AND
tt.fieldD = dbo.tableUpdate.fieldA
AND
1 = (
SELECT COUNT(tblTrans.fieldD)
FROM dbo.tableTranslate tblTrans
WHERE
tblTrans.fieldC = dbo.tableUpdate.fieldC
AND
tblTrans.fieldD = dbo.tableUpdate.fieldA
)

最佳答案

UPDATE...FROM 语法对 Oracle 无效。您将需要使用子查询,如下所示:

UPDATE dbo.tableUpdate t
SET t.fieldA = (SELECT tt.fieldB
FROM dbo.tableTranslate tt
WHERE tt.fieldC = t.fieldC
AND tt.fieldD = t.fieldA
)
WHERE 1 = (
SELECT COUNT(tblTrans.fieldD)
FROM dbo.tableTranslate tblTrans
WHERE tblTrans.fieldC = t.fieldC
AND tblTrans.fieldD = t.fieldA
)

关于sql - 更新查询在 SQL Server 中运行,但不在 Oracle 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097538/

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