create or replace procedure RYJBXX_getByInFO(
rfcur out sys_refcursor,
xml RYJBXX.XM%type
)
is
str varchar(200);
begin
str:='SELECT * FROM RYJBXX where 1=1';
if length(xml)!=0 then
str:=str||' and XM='||xml;
end if;
open rfcur for str;
end RYJBXX_getByInFO;我这里如果传进的参数是数字就不错,
如果传进的是字符串就会报错:
执行存储过程错误:ORA-00904: "DDDDD": 标识符无效其中"DDDDD":为我传入的参数。为什么??
應該是
str:=str||' and XM='''||xml||'''';