2017-09-05 1 views
1

에 대해 서로 다른 시스템 이름과 SQL 이름 10자를 입력하십시오. AS/400 (iSeries, System i, ...)에서 SQL 테이블을 작성하면 테이블에 SQL 이름 128 자) 및 시스템 이름 (최대 10 자). SQL 이름이 너무 길면 시스템 이름이 생성됩니다. SQL 이름 (RENAME TABLE x TO y 통해)과 시스템 이름 (RENAME TABLE x TO SYSTEM NAME y 통해)을 독립적으로 변경할 수 있습니다.DB2 AS/400 : 테이블

즉, SQL 이름이 10자를 넘으면 그렇게 할 수 있습니다. 10 문자 이하이면 시스템 이름이 자동으로 변경되므로 두 문자를 10 자 이하의 다른 값으로 변경할 수 없습니다.

RENAME TABLE x TO y FOR SYSTEM NAME z은 작동하지 않지만 RENAME TABLE x TO y1234567890 FOR SYSTEM NAME z은 작동합니다.

완료 방법이 있습니까? 그리고 있다면, 어떻게?

그렇다면 답변이기도합니다. SQL 및 실제 파일 명명 체계를 모두 수행하는 유일한 방법은 더 이상 긴 이름을 사용하는 것입니다. 내 Java-Entities와 함께).

답변

3

원하는 것을 수행 할 수 없습니다.

만들기 테이블 구문 : 시스템 이름의 시스템 -위한

:

>>-CREATE--+------------+--TABLE--table-name--+-------------------------------------------+--> 
      '-OR REPLACE-'      '-FOR SYSTEM NAME--system-object-identifier-' 

여전히 조금 나중에 테이블의 이름을 변경하지 않는 한 쉽게,하지만 작업을 할 수 있습니다 객체 식별자
테이블의 시스템 객체 식별자를 식별합니다. system-object-identifier는 현재 서버에 이미 존재하는 테이블, 뷰, 별명 또는 색인과 동일해서는 안됩니다. 시스템 - 객체 - 식별자는 부적합한 시스템 식별자 여야한다. system-object-identifier가 지정되면, table-name은 유효한 시스템 오브젝트 이름이 아니어야합니다.

따라서 테이블 이름이 일반적으로 유효한 IBM i 시스템 이름이면 FOR SYSTEM NAME을 사용할 수 없습니다.

+0

감사합니다. 그렇게 생각했습니다. 내가 그걸로 살아야 할 것 같아. – kratenko

3

하나의 짧은 이름으로 표를 만들고 다른 짧은 이름으로 ALIAS을 작성하면됩니다.

관련 문제