在女巫中有一个棘手的情况,我相信你们可以帮助我。我想在我的光标 where 子句中使用 decode 。我正在使用“IN()”,但我相信程序认为逗号属于解码,而不是作为值之间的分隔符。
我想也许使用 CASE 可以解决这个问题,对吗?
CURSOR order_cur (
cur_ao VARCHAR2) IS
SELECT t1.nr, t1.status$nr
FROM eh_order_t@NGEXT_DBLINK t1
WHERE t1.status$nr IN (3, 6)
AND t1.ao IN (DECODE (
cur_ao,
'ALLA', Argus_ehandel_pkg.get_ehorder_ao (
t1.nr),
SUBSTR (cur_ao, 1, 2), SUBSTR (cur_ao, 3, 2)))
案例变体
CURSOR order_cur (
cur_ao VARCHAR2) IS
SELECT t1.nr, t1.status$nr
FROM eh_order_t@NGEXT_DBLINK t1
WHERE t1.status$nr IN (3, 6)
AND t1.ao IN (CASE
WHEN cur_ao = 'ALLA'
THEN
Argus_ehandel_pkg.get_ehorder_ao (t1.nr)
ELSE
SUBSTR (cur_ao, 1, 2), SUBSTR (cur_ao, 3, 2)
END) -- SUBSTR (cur_ao, 3, 2) END)
--AND t1.nr = DECODE (order_in, NULL, t1.nr, order_in)
ORDER BY t1.skapad_dat ASC;