今天晚上旁边的同事在调试代码时出现了下面的bug:
ORA-00913: too many values
。。。。(后面的具体的就不写了)
第一次碰到这样的情况,上网一查才知道:原来同事的sql语句写错了:具体就不说了,主要是一个INSERT语句:结果
VALUES后面的插入的数据比前面的字段名多了一个,所以才出现了所谓的“too many values”错误。
---------------------------------------
我参考的1个帖子如下:感觉写得不错(虽然是e文写的):
Oracle/PLSQL: ORA-00913 Error
Error:
|
ORA-00913: too many values |
Cause:
|
You tried to execute an SQL statement that required two
sets of equal values, but you entered more items in the second set than
was in the first set. |
Action:
|
The options to resolve this Oracle error are:
- This error often occurs when you are performing an INSERT statement
and enter more values in the VALUES clause than the number of columns
that you listed.
For example, if you executed the following INSERT
statement:
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(1000, 'Microsoft', 'Bill Gates');
In this example, you've chosen to insert values into 2
columns (supplier_id and supplier_name), but you've entered 3 values
(1000, Microsoft, and Bill Gates).
You need to modify your INSERT statement so there are
the same number of columns as there are values. For example:
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(1000, 'Microsoft');
- This error can also occur when your subquery in the
WHERE clause returns too many columns.
For example, if you executed the following SQL
statement:
SELECT * FROM
suppliers |
WHERE supplier_id >
5000 |
AND supplier_id IN |
(SELECT * FROM products |
|
WHERE product_name LIKE 'H%); |
In this example, the subquery returns all columns
from the products table. You need to modify the subquery to return only
one column as follows:
SELECT * FROM
suppliers |
WHERE supplier_id >
5000 |
AND supplier_id IN |
(SELECT product_id FROM products |
|
WHERE product_name LIKE 'H%);
|
|
分享到:
相关推荐
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
#### ORA-00001: Unique Constraint Violated 当尝试插入或更新违反唯一约束的数据时触发此错误。例如,在具有唯一索引的列上插入重复数据。 #### ORA-00017: Rollback Segment Full 在进行事务回滚操作时,如果...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...
-- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...
在处理Oracle数据库时,我们经常遇到错误代码ORA-00031,它表明指定的会话已经被标记为终止。这个错误通常与数据库锁定和会话管理有关。本文将详细解析这一问题的解决方案,并提供一系列SQL语句和命令来处理和解决...
### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能...同时,需要注意避免因SQL语句编写不当而导致的ORA-00933错误,以确保操作的顺利进行。
oracle报错ora-12541:TNS无监听程序
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...
解决ORACLE TNS: 无法解析指定的连接标识符; 里面有步骤
oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法,需要的朋友可以参考一下