SQL Error: ORA-12899: Overflow inserting null in 30 character column
SQL Error: ORA-12899: Overflow inserting null in 30 character column
我是 运行 一个简单的插入 select 我的代码是
Insert into TEMP
select a.emp_name,
Null as address,
a.emp_id,
.......
from Temp1 a,Temp2 b where a.batch_id=b.batch_id
现在列地址是 varchar2(30) 即使我插入 NULL 。我溢出了。
SQL Error: ORA-12899: value too large for column "TEMP"."ADDRESS" (actual: 35, maximum: 30)
真纳闷这怎么能happen.Can谁能给点提示?我正在使用 Oracle 11g
您可能只是将错误的值放入列中,因为您没有在插入子句中指定它们。最好明确列出列,而不是依赖它们在数据字典中出现的顺序:
insert into TEMP (emp_name, address, empi_id, ...)
select a.emp_name,
null,
a.emp_id,
.......
from Temp1 a
join Temp2 b on a.batch_id=b.batch_id
我也更改为显式连接语法,尽管这与问题无关...
我是 运行 一个简单的插入 select 我的代码是
Insert into TEMP
select a.emp_name,
Null as address,
a.emp_id,
.......
from Temp1 a,Temp2 b where a.batch_id=b.batch_id
现在列地址是 varchar2(30) 即使我插入 NULL 。我溢出了。
SQL Error: ORA-12899: value too large for column "TEMP"."ADDRESS" (actual: 35, maximum: 30)
真纳闷这怎么能happen.Can谁能给点提示?我正在使用 Oracle 11g
您可能只是将错误的值放入列中,因为您没有在插入子句中指定它们。最好明确列出列,而不是依赖它们在数据字典中出现的顺序:
insert into TEMP (emp_name, address, empi_id, ...)
select a.emp_name,
null,
a.emp_id,
.......
from Temp1 a
join Temp2 b on a.batch_id=b.batch_id
我也更改为显式连接语法,尽管这与问题无关...