我的程序是这样的: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拷贝出来执行是可以的。
解决方案 »
- 【100分】c#连接Oracle,我在本地装了客户端,TNS:could not resolve the connect identifi
- oracle数据导出问题
- 登陆oracle 9i,提示我TNS没有监听器,但是TNS启动了,并且lsnrctl status状态正常
- 急!关于查询优化问题,在线等!
- lsnrctl status查看服务器端listener进程的状态
- 基础问题 isqlplus 路过的see see
- 函数转换
- oracle 是否可以建多个库
- 请问:Oracle中,将内容转换为字符串和截取字符串的一部分的函数是什么,谢谢了
- 关闭数据库的问题
- 【求助】字符串匹配的变态问题
- 多个用户操作数据库
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怎么会有问题?
这样测试一下,你!