【发布时间】:2015-12-31 19:49:47
【问题描述】:
我需要编写一个过程或函数来返回满足以下条件的状态、年龄和类型的计数
select * from ABC
where ABC_id = 2001
and ABC_LEVEL_ID = 1 --status
and ABC_REQUEST_DATE < sysdate --age
and ABC_TYPE_ID = 5; --type
If ABC_ID = 2001 and ABC_LEVEL_ID = 1
THEN return COUNT(STATUS)
If ABC_ID = 2001 and ABC_REQUEST_DATE < SYSDATE
THEN return COUNT(AGE)
If ABC_ID = 2001 and ABC_TYPE_ID = 5
THEN return COUNT(TYPE)
所有三个值都应该是传递给前端应用程序的 OUT 参数。
【问题讨论】:
-
我不确定我是否理解您要执行的操作。为什么在查询中有谓词,然后在“if”语句中重新测试相同的条件?根据定义,返回的任何行都将满足所有这些条件。