微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle-在内部选择

如何解决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中使用?

解决方法

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 举报,一经查实,本站将立刻删除。