读书人

这个SQL话语中if end这种写法是什么意

发布时间: 2012-10-14 14:55:07 作者: rapoo

这个SQL语句中if end这种写法是什么意思
select sku.ID as ID
from sku, rule
where rule.status = 1 and rule.type = 3
#if(${channelId})
and rule.channelId = ${channelId}
#end
and rule.ID = sku.ID
#if(${refLogic})
and rule.refLogic= ${refLogic}
#end
and sku.cycleStatus<> 0

有这样一个语句,不知道#if #end $(channelId)这各写法是什么意思?请高手指点!!!!

[解决办法]
你这个不是纯 SQL,是 shell 脚本拼接 sql 的吧
这个意思就是 如果 ${变量名} 不为空,就加一个条件
[解决办法]
条件编译。
[解决办法]
if end 正常意思是结束你前面的条件控制块,也就是if...else...end 的过程.
[解决办法]
作用类似做报表时候,在SQL条件最后加上一个&LP_ORG_ID,实际上是一个字符串的拼凑,然后通过判断语句然后赋值给这个LP_ORG_ID从而实现对查询语句一些查询条件的筛选过滤吧。

读书人网 >oracle

热点推荐