在Oracle中使用两个表更新SQL
我有一个这样的sql在Oracle中使用两个表更新SQL,sql,oracle,sql-update,ora-00933,Sql,Oracle,Sql Update,Ora 00933,我有一个这样的sql UPDATE A SET A.TEMSILCI_KOD = 4 FROM S_MUSTERI A, S_TEKLIF B WHERE A.TEMSILCI_KOD = 9 AND B.BAYI_KOD = 17 AND A.HESAP_NO = B.HESAP_NO Error starting at line 8 in command: UPDATE A SET A.TEMSILCI_KOD = 4 FROM S_MUSTERI A, S_TEKLIF B WHERE
UPDATE A
SET A.TEMSILCI_KOD = 4
FROM S_MUSTERI A, S_TEKLIF B
WHERE A.TEMSILCI_KOD = 9
AND B.BAYI_KOD = 17
AND A.HESAP_NO = B.HESAP_NO
Error starting at line 8 in command:
UPDATE A
SET A.TEMSILCI_KOD = 4
FROM S_MUSTERI A, S_TEKLIF B
WHERE A.TEMSILCI_KOD = 9
AND B.BAYI_KOD = 17
AND A.HESAP_NO = B.HESAP_NO
Error at Command Line:9 Column:22
Error report:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
但是我遇到了这样的错误
UPDATE A
SET A.TEMSILCI_KOD = 4
FROM S_MUSTERI A, S_TEKLIF B
WHERE A.TEMSILCI_KOD = 9
AND B.BAYI_KOD = 17
AND A.HESAP_NO = B.HESAP_NO
Error starting at line 8 in command:
UPDATE A
SET A.TEMSILCI_KOD = 4
FROM S_MUSTERI A, S_TEKLIF B
WHERE A.TEMSILCI_KOD = 9
AND B.BAYI_KOD = 17
AND A.HESAP_NO = B.HESAP_NO
Error at Command Line:9 Column:22
Error report:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
错误在哪里?您的update语句没有遵循正确的语法。update语句中没有from子句。它应该遵循这种格式
Update <table>
set <column> = <value>
where <conditions>
更新
集合=
哪里
请参阅有关更新的文档:
可能类似于
UPDATE S_MUSTERI
SET TEMSILCI_KOD = 4
WHERE TEMSILCI_KOD = 9
AND EXISTS (SELECT 1 FROM S_TEKLIF B
WHERE S_MUSTERI.HESAP_NO = B.HESAP_NO
AND B.BAYI_KOD = 17)
在Oracle中,更新视图的语法与SQL*Server的语法不同。在Oracle中,您可以发出以下查询:
UPDATE (SELECT A.TEMSILCI_KOD
FROM S_MUSTERI A, S_TEKLIF B
WHERE A.TEMSILCI_KOD = 9
AND B.BAYI_KOD = 17
AND A.HESAP_NO = B.HESAP_NO)
SET TEMSILCI_KOD = 4
注意:如果(S_TEKLIF.BAYI_KOD,S_TEKLIF.HESAP_NO)
是唯一的(这样更新就不会模棱两可,并且S_MUSTERI
中的每一行最多更新一次)。多表update
在SQL Server上工作,但在Oracle上不工作。您是在过程中这样做的吗?,没有来自
的。