我的程序是这样的:v_insert_sqltemp:='insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'test1','测试用第一个存储过程',sysdate,sysdate,'aaaa','bbbb','0')
';
execute immediate ''||v_insert_sqltemp||'';
commit;运行提示缺失逗号……
我把v_insert_sqltemp拷贝出来执行是可以的。
';
execute immediate ''||v_insert_sqltemp||'';
commit;运行提示缺失逗号……
我把v_insert_sqltemp拷贝出来执行是可以的。
v_insert_sqltemp:='insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'test1','测试用第一个存储过程',sysdate,sysdate,'aaaa','bbbb','0')
'; 这个,里面单引号乱套了
v_insert_sqltemp:=q'[insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'test1','测试用第一个存储过程',sysdate,sysdate,'aaaa','bbbb','0')]'; execute immediate v_insert_sqltemp;
commit;
我这样试过了,提示无效的sql语句了。。是10g
declare
v_insert_sqltemp varchar2(2000);
begin
v_insert_sqltemp:='insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'||'''test1'''||','||'''²âÊÔÓõÚÒ»¸ö´æ´¢¹ý³Ì'''||','''||sysdate||''','''||sysdate||''','||'''aaaa'''||','||'''bbbb'''||','||'''0'')';
dbms_output.put_line(v_insert_sqltemp);
execute immediate v_insert_sqltemp;
commit;
end;
declare
v_insert_sqltemp varchar2(2000);
begin
v_insert_sqltemp:='insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'||'''test1'''||','||'''testing'''||','''||sysdate||''','''||sysdate||''','||'''aaaa'''||','||'''bbbb'''||','||'''0'')';
dbms_output.put_line(v_insert_sqltemp);
execute immediate v_insert_sqltemp;
commit;
end;
其实这是我写死的是这样,values里面的都是拼sql拼出来的。要怎么做呢?
远程序是这样的;v_insert_sqltemp:=v_insert_sqlstarttemp||v_insert_sqlendtemp||request_id||','''||s_proname||''','''||s_prodesc||''','||s_start_date||','||s_start_date||v_sqltemp||',''0'')';
都已经贴给过你了,这个破需求,变态。搞了两天了。
v_insert_sqltemp:=v_insert_sqlstarttemp||v_insert_sqlendtemp||request_id||','''||s_proname||''','''||s_prodesc||''','||s_start_date||','||s_start_date||v_sqltemp||',''0'')';
这里面的都是变量。并且运行的时候已经打印出
v_insert_sqltemp:='insert into test(ID,NAME,PROGRAM_DESC,START_DATE,END_DATE,ARGUMENT1,ARGUMENT2,STATUS) values(98,'test1','测试用第一个存储过程',sysdate,sysdate,'aaaa','bbbb','0') 但是就是提示缺少逗号
你这里的sysdate怎么会有问题?
这样测试一下,你!