【发布时间】:2015-02-19 00:49:25
【问题描述】:
我以提要的形式从 erp 系统获取数据,特别是提要中的一列长度仅为 15。
在目标表中也对应列的长度也是varchar2(15),但是当我尝试将其加载到数据库中时,它显示如下错误:
ORA-12899: 列 emp_name 的值太大(实际值:16,最大值: 15)
我不能增加列长,因为它是生产中的基表。
【问题讨论】:
-
你是说:有两个表,都有一个 varhcar2(15) 列,当你将 table1 中的值插入 table2 时,你会得到错误?
-
如果它们真的是 varchar2(15) - 而不是 nvarchar2,那么您的代码会以某种方式添加字符。代码 sql 是什么样的(编辑您的帖子以添加它)。
-
这是简单的插入语句,如下所示 insert into aaa (id, site_id) select id,site_id from bbb where id in (select id from cc)
-
在 nls_database_parameters table parameter='NLS_LENGTH_SEMATICS' 的值为 'BYTE'。我需要将其更改为字符。
-
对不起,如果我听起来脾气暴躁,但是您现在标记为接受的答案在哪些方面比我的(以前接受的)答案更好?它只是给出了相同的建议 (
ALTER TABLE ...),它不包含任何额外的有用信息,只包含一个外部链接(不鼓励在 SO 上使用)。
标签: oracle