選択クエリを介して単一の変数に複数の値をフェッチし、その変数の値を単一の値のみを持つ別の変数と比較する必要があります。
PL/SQL プログラミングは初めてです。このフォーラムを検索したところ、TYPE/ コレクションを使用した結果が得られましたが、コードで同じものを使用する方法がわかりません。
以下は私のコードのスニペットです:
CREATE OR REPLACE PROCEDURE MNTH_SNAPSHOT AS
arg1 varchar2(10) ;
TYPE snap IS TABLE OF GDWARC_JPN.DIM_ORG_UNIT_HIST.snapshot_period%TYPE;
BEGIN
SELECT (to_char(trunc(sysdate, 'MM'), 'MON-yyyy')) INTO arg1 FROM dual;
SELECT (to_char(snapshot_period,'MON-yyyy')) BULK collect into snap FROM GDWARC_JPN.DIM_ORG_UNIT_HIST; -- multiple values like DEC-2016, JAN-2016 etc . snapshot_period is date column
if arg1 in (snap ) then
execute immediate 'alter table GDWARC_JPN.DIM_ORG_UNIT_HIST truncate partition arg1';