【发布时间】:2013-04-01 12:38:24
【问题描述】:
我正在使用 Oracle Sql Developer 编写一个存储过程,它接受由“,”(动态 sql)分隔的值列表,并在“ 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;
【问题讨论】:
标签: sql stored-procedures dynamic-sql oracle-sqldeveloper