【发布时间】:2016-11-21 16:21:23
【问题描述】:
我有两个表 TBL_TEST1 和 TBL_TEST2,两个表中都有 DISTRICT 和 NAME 列,两个表中的 DISTRICT 列都有相同的数据我想将 TBL_TEST2 的所有 NAME 列值更新为“完成”在两个表中都找到了 DISTRICT 值“1”。
下面是我的查询表
SELECT * FROM TBL_TEST1
DISTRICT NAME
1 Rashid
2 Ramish
1 Ali
1 Karim
和
SELECT * FROM TBL_TEST2
DISTRICT NAME
1 DDD
2 DDDY
3 DDDD7
1 DD1
1 DDD4
当我尝试时
UPDATE TBL_TEST2 SET TBL_TEST2.NAME = 'DONE' FROM TBL_TEST2 INNER JOIN TBL_TEST1 ON TBL_TEST2.DISTRICT = TBL_TEST1.DISTRICT WHERE TBL_TEST2.DISTRICT = '1'
我在下面收到错误消息
ORA-00933: SQL command not properly ended
我测试了其他帖子中的代码,但我问我的代码是正确的,为什么我仍然收到该错误消息
【问题讨论】:
-
您使用
mysql标记了您的问题,但错误消息表明您实际上使用的是oracle,它使用不同的语法进行连接更新。看到这个问题:stackoverflow.com/questions/2446764/… -
另一个可能有帮助的 SO 问题:stackoverflow.com/questions/8940471/…
-
我测试了其他帖子中的代码,我想知道我的代码有什么问题,我仍然收到该错误消息
-
您在 Oracle 手册中的什么地方找到了该语法?
-
@MelladQarizada 这个问题是针对 Microsoft SQL Server 而不是 Oracle 的,并且不适用于这里。