我创建具有列A,列B,列和C的主表每当我尝试使用命令从另一个表中插入行:字符宽度超过
INSERT INTO MASTER
select * from Table B
我得到的错误消息“字符宽度突破”。我不知道为什么。
我创建具有列A,列B,列和C的主表每当我尝试使用命令从另一个表中插入行:字符宽度超过
INSERT INTO MASTER
select * from Table B
我得到的错误消息“字符宽度突破”。我不知道为什么。
可能是Table B
的一列或多列大小大于MASTER
的相应列大小。
例如, - Table B
的column1
可能是VARCHAR(255)
和MASTER
'如果表MASTER的结构是完全相同的与表B.
大概小号column A
可能小于255
检查是一个问题MASTER.colx是一个字符串(20),B.colx是一个字符串(25),或者可能是字符集问题(unicode/latin-1/utf-8/iso-8859-x)
考虑创建表MASTER为:
select *
into master
from tableB
where 1=0
这将保证两个表之间的列数据类型相同。然后你可以尝试再次插入。
您使用的数据库是?什么是netezza? – Andomar
[Netezza](http://www.netezza.com/)是非常流行的数据仓库工具。它与Teradata竞争。 – DOK
比较'Master'和'TableB'表的定义。一些char或varchar字段的大小可能不同。 –