Sql 超出字符宽度
我使用列a、列B和列C创建主表。每当我尝试使用命令插入另一个表中的行时:Sql 超出字符宽度,sql,netezza,Sql,Netezza,我使用列a、列B和列C创建主表。每当我尝试使用命令插入另一个表中的行时: INSERT INTO MASTER select * from Table B 我收到错误消息“字符宽度超出”。我不确定原因。可能是表B的一列或多列大小大于主文件的相应列大小 例如,表B的第1列可能是VARCHAR(255),MASTER的第A列可能小于255。检查表MASTER的结构是否与表B完全相同 可能是MASTER.colx是字符串(20)而B.colx是字符串(25)的问题,或者可能是字符集问题(unicod
INSERT INTO MASTER
select * from Table B
我收到错误消息“字符宽度超出”。我不确定原因。可能是
表B的一列或多列大小
大于主文件的相应列大小
例如,表B的第1列可能是VARCHAR(255)
,MASTER的第A列可能小于255。检查表MASTER的结构是否与表B完全相同
可能是MASTER.colx是字符串(20)而B.colx是字符串(25)的问题,或者可能是字符集问题(unicode/latin-1/utf-8/iso-8859-x)考虑将表MASTER创建为:
select *
into master
from tableB
where 1=0
这将保证两个表之间的列数据类型相同。然后您可以再次尝试插入。您使用的是什么数据库?什么是内特扎?是一种非常流行的数据仓库工具。它与Teradata竞争。比较Master
和TableB
表的定义。某些char或varchar字段的大小可能不同。错误消息非常清楚。您试图插入比destinationI更大的值。我将master表的varchar语句更改为varchar(40),使master的列与表B的列相似。我只能看到变量的类型,而不能看到字符数