對不起,如果這是一個愚蠢的問題,我是PL/SQL的新手。 我有一個從表中檢索數據的PL/SQL存儲過程。 有兩個可選參數可以爲空。如果它們不爲空,它們應該成爲WHERE子句的一部分。是否可以在SELECT中的WHERE子句中插入IF子句?
這是SELECT:
SELECT DISTINCT PN.PART_NUMBER, PN.SHORT_CODE, DES.DESCRIPTION
FROM MAS_PART PN
LEFT JOIN CF_DESCRIPTION DES
ON PN.LOCAL_DESCRIPTION_ID = DES.DESCRIPTION_ID
WHERE PN.PART_CODE = 'M'
AND PN.PART_TYPE_ID = IN_PART_TYPE_ID
AND PN.PART_GROUP_ID = IN_PART_GROUP_ID
ORDER BY PN.PART_NUMBER;
的兩個變量是IN_PART_TYPE_ID和IN_PART_GROUP_ID。只有當它們不是NULL時,有沒有什麼方法可以評估關於這兩個變量的WHERE子句?或者唯一的方法是使用IF子句重複SELECT 3次並更改WHERE子句?
'其中(col = param或param爲null)和...' – jarlh