我建立一个存储过程
create or replace procedure p_custuser(iscust in varchar2,mobile in varchar2,lmda in varchar2) as
p_sql varchar2(1000);
v_lmda varchar2(12);
begin
v_lmda:='fzxw';--lower(lmda);
if iscust='1' then
p_sql:='insert into '||lower(lmda)||'_custuserinfo values('||mobile||',sysdate)';
execute immediate p_sql;
p_sql:='insert into custuser(mobile,subjectcode,iscust,custtime) values('||mobile||','||v_lmda||',''1'',sysdate)';
execute immediate p_sql;
end if;
--p_sql:='insert into log values('||mobile||',sysdate)';
--execute immediate p_sql;
end p_custuser;
我执行它,begin p_custuser('1','10150998180','fzxw'); end;
提示出错!
ORA-00984: 列在此处不允许
ORA-06512: 在"P_CUSTUSER", line 11
ORA-06512: 在line 1
如果我把它改成begin p_custuser('1','10150998180','1111'); end;
就可以执行成功,改成数字就可以执行成功,而如果是11cc,数字加英文竟然提示缺少逗号~~
|