报表中两种传空参数方式的区别

来源:互联网 发布:下载word2010电脑软件 编辑:程序博客网 时间:2024/05/07 10:02
--两种传参数方式的区别
--费用采购接收单:CUX_COST_PURCHASE_REV_PKG
--CURSOR c_count(X_PF IN VARCHAR2)中如果用第一种 MSIB.SEGMENT1查出来不能为空值,
--对于按类别而不是按料号采购的就查不出数据(有物料类别,无料号)
AND MSIB.SEGMENT1 BETWEEN NVL(P_ITEM_NUM_F, MSIB.SEGMENT1) AND NVL(P_ITEM_NUM_T, MSIB.SEGMENT1) --不太耗资源
--如果用第二种就可以允许查出的MSIB.SEGMENT1为空
AND (MSIB.SEGMENT1 BETWEEN P_ITEM_NUM_F AND P_ITEM_NUM_T 
                     OR (P_ITEM_NUM_F IS NULL OR P_ITEM_NUM_T IS NULL)) --耗资源
--推荐使用:
--(1)
AND decode(P_ITEM_NUM_F,null,'1',P_ITEM_NUM_F)=decode(P_ITEM_NUM_F,null,'1',MSIB.SEGMENT1)


--(2);MTLN.LOT_NUMBER可能为空值
AND (NVL(MTLN.LOT_NUMBER,'A')
              BETWEEN NVL(P_LOT_NUMBER_FROM,NVL(MTLN.LOT_NUMBER,'A')) 
                  AND NVL(P_LOT_NUMBER_TO,NVL(MTLN.LOT_NUMBER,'A')))
0 0
原创粉丝点击