create or replace procedure proc_update_ad_info
(
infoid in number,
str in varchar2,
action in number,
ret out number
)
as
sqlstr varchar2(1000);
begin
if action = 3 then
BEGIN
sqlstr:= 'delete from t_ad_info where '||str;
execute immediate sqlstr;
END;
end if;
exception
when NO_DATA_FOUND then
rollback;
ret := 0;
when others then
rollback;
ret := 0;
end proc_update_ad_info;
LZ我把你的代码重新修改了一下,这样就对了:
create or replace procedure proc_update_ad_info(strin varchar2,
action in number,
retout number) as
sqlstr varchar2(1000);
begin
if action = 3 then
BEGIN
sqlstr := 'delete from t_ad_info where' || str;
execute immediate sqlstr;
END;
end if;
exception
when NO_DATA_FOUND then
rollback;
ret := 0;
when others then
rollback;
ret := 0;
end proc_update_ad_info;