我有这个简单的Oracle语句来删除行...但我无法让它工作
delete from NPEA.tnpe00_all
where EXISTS
(select 1
from NPEA.tnpe05_doc, NPEA.tnpe00_all
where NPEA.tnpe05_doc.n_doc = NPEA.tnpe00_all.t_doc
and NPEA.tnpe05_doc.n_prt is null
and NPEA.tnpe05_doc.n_can = 4
order by n_doc)
Run Code Online (Sandbox Code Playgroud)
错误代码是
00907. 00000 - "missing right parenthesis"
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
Vin*_*rat 10
您不能在EXISTS子句中使用ORDER BY:
SQL> SELECT 1 FROM dual WHERE EXISTS (SELECT 1 FROM dual ORDER BY 1);
ERROR at line 1:
ORA-00907: missing right parenthesis
SQL> SELECT 1 FROM dual WHERE EXISTS (SELECT 1 FROM dual);
1
----------
1
Run Code Online (Sandbox Code Playgroud)
集合中的order by子句没有任何意义,因此错误(无可否认是一个无用的消息).
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |