我的这句动态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是两个表变量。
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是两个表变量。
解决方案 »
- 问个ORACLE的小问题
- 重新配置ORCL11g的EM时遇到问题
- 求救:更新包和包体时,等了好久,出现ora-04021 好像是被挂起了,如何解决,加急!在线等,万分感谢
- 先排序然后取前10条记录该如何做?顶者有分!
- 求助:java连接局域网中的oracel,为什么连不上?谢谢
- oracle中自定义函数
- 有ORACLE的简明教程,和,存储过程的简明教程,可以让我看看呀?
- 关于ORACLE9I的基本问题
- 还是安装的问题
- Oracle数据库中,千万级数据量,筛选条件在一个字段里面,求大神指点SQL怎么啊!一千万的数据,匹配某一个字段中以逗号分开的多个值,如何写sql提高查询效率
- 如何用sql取到3个月的数据
- 是否可以用sql语句实现分数的分段人数统计
str_sq:='insert into ' ¦ ¦table_name ¦ ¦'(aa,bb,cc) values(ax,' ¦ ¦a_table(j) ¦ ¦',' ¦ ¦b_table(i) ¦ ¦')';
dbms_output.put_line(str_sq);
--execute immediate str_sq; 动态sql的时候,看下最后的sql是什么样的
执行下
把它打出来看看.
sql_sq:='insert into'||table_name||'(aa,bb,cc)'values(ax,'||a_table(i)||','||b_table(j)||')';
execute immediate str_sq;
insert into exd080526(aa,bb,cc) values(ax,02-6月 -08,654151)
看起来没有错啊,为什么还是报错:缺失逗号呢??
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>
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>
str_sq:='insert into '||table_name||' (aa,bb,cc)
values(ax,to_date('||a_table(j)||',''dd-mon-yy''),'||b_table(i)||')';
改成这样为什么又报错缺失右括号了呢?
values(40,02-6月 -08,654151)
报错:缺失逗号
打出来这样:insert into table(aa,bb,cc)
values(40,to_date(02-6月 -08('dd-mon-yy'),654151)
报错:缺失右括号
明明这个sql语句有错误呀
1 row inserted