哪位大虾能帮我看看这个为什么错了吗?在存储过程中的
Pvar varchar2(20);
VSql VARCHAR2(1000);Pvar := mycur.id ;
Vsql := 'update stat set canum = (select count(id) from users where substr(id,1,length(:Pvar)) = :Pvar) where aid = :Pvar ';
EXECUTE IMMEDIATE Vsql USING Pvar;报的错是“not all variables bound”
如果不用using Pvar 是没问题的,就是:
Vsql := 'update stat set canum = (select count(id) from users where substr(id,1,length('''||Pvar||''')) = '''||Pvar||''') where aid = '''||Pvar||''' ';
EXECUTE IMMEDIATE Vsql; 这样就是对的,可以运行。
Pvar varchar2(20);
VSql VARCHAR2(1000);Pvar := mycur.id ;
Vsql := 'update stat set canum = (select count(id) from users where substr(id,1,length(:Pvar)) = :Pvar) where aid = :Pvar ';
EXECUTE IMMEDIATE Vsql USING Pvar;报的错是“not all variables bound”
如果不用using Pvar 是没问题的,就是:
Vsql := 'update stat set canum = (select count(id) from users where substr(id,1,length('''||Pvar||''')) = '''||Pvar||''') where aid = '''||Pvar||''' ';
EXECUTE IMMEDIATE Vsql; 这样就是对的,可以运行。
EXECUTE IMMEDIATE Vsql USING Pvar,Pvar,Pvar;