当前位置: 代码迷 >> Oracle技术 >> 这个SQL话语中if end这种写法是什么意思
  详细解决方案

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

热度:108   发布时间:2016-04-24 08:24:39.0
这个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从而实现对查询语句一些查询条件的筛选过滤吧。
  相关解决方案