日期:2014-05-17  浏览次数:21345 次

动态Sql中报错:缺失逗号
我的这句动态sql错在哪里了呀,请各位高人指点:
str_sq:='insert into '||table_name||'(aa,bb,cc) values(ax,'||a_table(j)||','||b_table(i)||')';
execute immediate str_sq;
报错是缺失逗号!
a_table,b_table是两个表变量。

------解决方案--------------------
SQL> desc test;
Name Type Nullable Default Comments 
---- ------ -------- ------- -------- 
A DATE Y
B NUMBER Y
 
SQL> insert into test values (02-6月 -08,1);
 
insert into test values (02-6月 -08,1)
 
ORA-00917: 缺失逗号
 
SQL> insert into test values (to_date('02-6月 -08','yyyymmdd'),1);
 
insert into test values (to_date('02-6月 -08','yyyymmdd'),1)
 
ORA-01843: 无效的月份
 
SQL> insert into test values (to_date('02-6月 -08','dd-mon-yy'),1);
 
1 row inserted
 
SQL>