求问,ORACLE的declare问题 10C

从SQLSERVER转到ORACLE,发现DECLARE不会用了,
我想做一个判断,就是先查询表A的最大ID是否小于1,如果小于1就差些表B数据,如果大于1就不查询表B数据,该如何实现呢?

6个回答

你这个和declare没关系,用子查询
if ((select max(id) from a) <1)
select * from b

KyKiske22
KyKiske22 这么写我试过了,在ORACLE里显示“无效的SQL语句”
2 年多之前 回复

这里有个declare的例子,declare是定义变量的
https://zhuanlan.zhihu.com/p/25078150

直接语句:
select *
from 表B
where exists
(select 1 from (select max(id) max_id from 表A) where max_id < 1)

建议百度下case语句 case when then

select (case when a <1 then (select count(*) from 表b ) else a end)字段名 from
(select max(id) a from 表a)

试下这个呢

declare是申明匿名块中的变量的,就相当于存储过程的的is及前面那部分

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐