SQL Error: ORA-01401: inserted value too large for column(sql错误:ORA-01401:插入的值对于列太大)
问题描述
将新记录插入Oracle数据库中的表时出现问题。错误描述显示-sql错误:ORA-01401:插入的值对于列太大
由于表中有60列,我如何知道哪一列具有较大的值。
推荐答案
sql错误:ORA-01401:插入的值对于列太大
您正在尝试插入大于列的指定大小的值。
由于表中有60列,我如何知道哪一列具有较大的值。
错误肯定会使表名和列名具有插入的实际大小和允许的最大大小。
例如
SQL> CREATE TABLE t(A VARCHAR2(2));
Table created.
SQL>
SQL> INSERT INTO t VALUES ('123');
INSERT INTO t VALUES ('123')
*
ERROR at line 1:
ORA-12899: value too large for column "LALIT"."T"."A" (actual: 3, maximum: 2)
SQL>
在上面的示例中,错误清楚地指出"column"Lalit"."T"."A"(Actual:3,Maximum:2)"其中Lalit是SCHEMA
,T是TABLE
,A是COLUMN
。为列A指定的大小为%2,而表创建为%2,但是实际插入的大小为%3。
更新关于ORA-01401
和ORA-12899
之间的念力。
从Oracle 10g和更高版本开始,ORA-01401
已修改为ORA-12899
,它更明确,并且包含有关导致错误的架构、表和列的详细信息。
其他信息以防万一有人感兴趣:
有一个ORA-01401
的对应物,即ORA-01438
,适用于数字的情况。这似乎没有变化。
例如
SQL> CREATE TABLE t(A number(2));
Table created.
SQL>
SQL> INSERT INTO t VALUES (123);
INSERT INTO t VALUES (123)
*
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this column
SQL>
这篇关于sql错误:ORA-01401:插入的值对于列太大的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:sql错误:ORA-01401:插入的值对于列太大
基础教程推荐
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01