Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 超出字符宽度_Sql_Netezza - Fatal编程技术网

Sql 超出字符宽度

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

我使用列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)的问题,或者可能是字符集问题(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的列相似。我只能看到变量的类型,而不能看到字符数