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":为我传入的参数。为什么??