Oracle Sql Developerを使用して、「、」(動的SQL )で区切られた値のリストを受け入れるStored Procを作成し、この変数を「in」句で使用して、テーブルからクエリを起動しています。
しかし、私はエラーで終わっています
@p_case_nbr varchar2(100),
エラー(4,5): PLS-00103: 次のいずれかを予期しているときに記号「@」が検出されました: 現在の削除は以前に存在します
使用した SP:
create or replace
procedure TEST_PROC
(
@p_case_nbr varchar2(100),
p_out_case_nbr out varchar2
)
as
cursor test_cur is
select t.COLUMN1
from test_table t
where t.column1 in (@p_case_nbr);
test_cur_line test_cur%ROWTYPE;
begin
p_out_case_nbr := null;
open test_cur;
LOOP
FETCH test_cur INTO test_cur_line;
EXIT WHEN test_cur%NOTFOUND;
p_out_case_nbr := p_out_case_nbr || ' ' || test_cur_line.COLUMN1;
dbms_output.put_line(test_cur_line.COLUMN1);
end loop;
close test_cur;
dbms_output.put_line('Final Value ' || p_out_case_nbr);
dbms_output.put_line('SP Completed Succesfully');
end;