如何解决Oracle-在内部选择
我有一个适用于MSsql的查询,但是当我在Oracle DB上运行它时,它失败了:
SELECT ( CASE WHEN NOT EXISTS(SELECT NULL FROM DA_TRANSACTION) THEN 0 ELSE 1 END ) AS isEmpty
我得到的错误:
SQL查询错误:ORA-00923:在预期位置找不到FROM关键字
解决方法
Oracle需要一个FROM
子句。为此,它提供了一个单行表:
SELECT ( CASE WHEN NOT EXISTS(SELECT NULL FROM DA_TRANSACTION) THEN 0 ELSE 1 END ) AS isEmpty
FROM DUAL;
如果您想要在两个数据库中都可以使用的高效版本(并且您正在使用Oracle 12C +):
select count(*) as isEmpty
from (select 1
from da_transaction
offset 0 fetch first 1 row only
) t
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。