2012-05-29 1 views
0

내가 컬럼 A, 컬럼 B, 및 열 C.와 마스터 테이블을 생성 초과 :문자 폭 내가 명령을 사용하여 다른 테이블에서 행을 삽입하려고 할 때마다

INSERT INTO MASTER 
select * from Table B 

내가 오류 메시지 "를 문자 폭 초과했습니다 ". 왜 그런지 모르겠습니다.

+1

어떤 데이터베이스를 사용하고 있습니까? 네티 야가 뭐야? – Andomar

+0

[Netezza] (http://www.netezza.com/)는 매우 널리 사용되는 데이터웨어 하우스 도구입니다. 그것은 Teradata와 경쟁합니다. – DOK

+1

'Master'와'TableB' 테이블의 정의를 비교하십시오. 일부 char 또는 varchar 필드의 크기가 다를 수 있습니다. –

답변

0

Table B의 하나 이상의 열 크기가 MASTER의 각 열 크기보다 클 수 있습니다.

예 : - Table Bcolumn1VARCHAR(255) 수 있습니다 및 MASTER '테이블 MASTER의 구조는 테이블 B. 아마

같은 정확히 경우의 column A 미만 255

+0

마스터 테이블의 varchar 문을 varchar (40) –

+0

으로 변경했습니다. MASTER의 열을 표 B와 비슷하게 만듭니다. – JHS

+0

유형 만 볼 수 있습니다. 변수가 아닌 문자 수 –

0

확인 할 수있는 것은 문제이다 (20) 및 B.colx가 문자열 (25)이거나 charset 문제 (유니 코드/라틴어 -1/utf-8/iso-8859-x)

0

고려해야 할 MASTER.colx는 문자열 MASTER 테이블을 다음과 같이 생성 :

select * 
    into master 
    from tableB 
where 1=0 

이렇게하면 열 데이터 형식이 두 테이블간에 동일하게 유지됩니다. 그런 다음 삽입을 다시 시도 할 수 있습니다.