Как использовать параметры в предложении «где значение в…»?

Это работает, когда у меня есть только один код состояния в качестве параметра.

Как я могу заставить код работать, когда у меня есть более одного state_code в parm_list?

Требования:

(1) Я не хочу жестко кодировать коды состояний в моем определении курсора

(2) Я хочу разрешить использование более чем одного кода состояния в моем предложении where

Например: я хочу запустить этот код дляparm_list = ('NY','NJ','NC'). I'm encountering difficulties in reconciling single quotes in parm_list with the single quotes in the 'where state_code in ' query.

set serveroutput on;

DECLARE
parm_list varchar2(40);

cursor get_state_codes(in_state_codes varchar2)
is
select state_name, state_code from states
where state_code in (in_state_codes);

BEGIN
 parm_list := 'NY';
 for get_record in get_state_codes(parm_list) loop
  dbms_output.put_line(get_record.state_name || get_record.state_code);
 end loop;
END;

Ответы на вопрос(2)

Ваш ответ на вопрос