Chi*_*ski 2 sql oracle inner-join
我有3张桌子
表A:
| id_A | Data ... |
Run Code Online (Sandbox Code Playgroud)
表B:
| id_B | Data ... |
Run Code Online (Sandbox Code Playgroud)
加入A_B
| id_A | id_B |
Run Code Online (Sandbox Code Playgroud)
那些表格是我的情况的一个例子.好吧,我试图从Join A_B删除许多记录,这取决于许多条件,例如A的名字是X,B的名字是Y.
当我执行SELECT时它可以工作,但是使用DELETE它没有.
这是我的要求:
DELETE A_B FROM A
INNER JOIN A_B
ON (A.ID = A_B.A_ID)
INNER JOIN B
ON (B.ID = A_B.B_ID)
WHERE B.NAME IN ('X', 'Y')
AND A.NAME = 'Z';
Run Code Online (Sandbox Code Playgroud)
它说 :
Erreur SQL : ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
Run Code Online (Sandbox Code Playgroud)
小智 8
执行删除时,只允许一个From表.尝试
DELETE FROM A_B
WHERE EXISTS (SELECT 1 FROM A
INNER JOIN B ON (B.ID = A_B.B_ID)
WHERE A.ID = A_B.A_ID
AND B.NAME IN ('X', 'Y')
AND A.NAME = 'Z');
Run Code Online (Sandbox Code Playgroud)
这里参考
| 归档时间: |
|
| 查看次数: |
20031 次 |
| 最近记录: |