Ниже мой код:
SELECT
/*+ parallel (sales 8) */
COUNT(1)
INTO v_datacount_actualtable
FROM sales
WHERE processingunitseq=38
AND (compensationdate BETWEEN TO_DATE(v_startdate,'DD-MON-YYYY') AND TO_DATE(v_enddate,'DD-MON-YYYY')
OR eventtypeseq IN
(SELECT EVENTTYPESEQ FROM EPS_FRS_PAYMENTS
));
SELECT EVENTTYPESEQ FROM EPS_FRS_PAYMENTS
вернет 4 значения. Поэтому я не могу сделать простой ВЫБРАТЬ В.
Я хочу сохранить результат SELECT EVENTTYPESEQ FROM EPS_FRS_PAYMENTS
в переменной и сделать код примерно таким, как показано ниже, чтобы подзапрос не выполнялся каждый раз.
SELECT
/*+ parallel (sales 8) */
COUNT(1)
INTO v_datacount_actualtable
FROM sales
WHERE processingunitseq=38
AND (compensationdate BETWEEN TO_DATE(v_startdate,'DD-MON-YYYY') AND TO_DATE(v_enddate,'DD-MON-YYYY')
OR eventtypeseq = v_frseventpeseqs );
SELECT EVENTTYPESEQ FROM EPS_FRS_PAYMENTS
возвращает четыре значения:
1,
2,
3,
4,
Я не хочу жестко кодировать эти значения в коде, поскольку это плохая практика. Нужно это в переменной типа v_frseventypeseqs.
Как я могу это сделать - массив / коллекция / записи / массовый сбор в?