我需要通过选择查询获取多个值并放入单个变量中,然后将该变量的值与另一个只有单个值的变量进行比较。
我是 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';