问题描述
执行oracle sql时,或者编译存储过程时,遇到下面的错误:
ORA-00913: too many values
用法一:
insert into table1 select * from table2 where a = ‘’;
原因
你尝试执行一个需要两组相等值的SQL语句,但是你在第二个集合中输入的项比在第一个集合中输入的更多。
解决
出错的sql没有指定使用的列,而是全部查出来。
查看两个table的列数:
select * from all_tab_columns where table_name = 'TABLE1';
select * from all_tab_columns where table_name = 'TABLE2';
发现确实是不同。
解决方法如下2种::
- 指定上面sql,使用相同长度的列
- 同步table1和tables2,使它们具有相同的列数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155724.html