2010-12-15 5 views
1


다른 테이블의 필드를 사용하여 테이블 (H2 내장 데이터베이스)을 만들어야합니다. 나는 CREATE TABLE AS 진술을 사용하기로 결정했다.CREATE TABLE AS - PK로 열을 추가하는 방법은 무엇입니까?

내 코드 :
CREATE TABLE DOC AS
SELECT I.ID, I.STATUS, A.REMINDERINFORMATION
FROM IE802 I JOIN IE802_ATTRIBUTES A ON A.IE802_ID=I.ID;

코드로부터 생성되는 각 행은 상기 추가 DOCID 기본 키를 가져야한다. 이 열을 추가하고 동시에 자동 증가 및 PK로 만들 수 있습니까?

팁 및 기타 솔루션을 제공해 주셔서 감사합니다.

또는 기존 I.ID를 PK로 만들려면 어떻게해야합니까?

여전히 오류가 발생합니다. 열 "ID"는 Nullable이 아니어야합니다. SQL 문 : AS SELECT CREATE에 ALTER TABLE DOC는 PRIMARY KEY (ID)를 추가 [90023-147]

+0

'ALTER TABLE DOC ALTER 열 ID BIGINT NULL NOT은'해결 내 오류. – monczek

+0

질문에 대한 답변을 얻은 경우 답변을 게시하고 승인 된 것으로 표시하십시오. 그러나 귀하의 의견에있는 진술이이 질문에 어떻게 대답하는지 보지 못합니다 : "이 열을 추가하고 동시에 자동 증가 및 PK로 만들 수 있습니까?" – Tony

+0

위의 한 줄의 코드는 오류를 없앴습니다. 열 "ID"는 Nullable이 아니어야합니다. – monczek

답변

1

H2는 열 정의를 지원합니다

CREATE TABLE DOC(
    ID INT PRIMARY KEY, 
    STATUS INT, 
    REMINDERINFORMATION VARCHAR(255) 
) 
AS SELECT I.ID, I.STATUS, A.REMINDERINFORMATION 
FROM IE802 I JOIN IE802_ATTRIBUTES A ON A.IE802_ID=I.ID; 
+0

감사! 그게 정확히 내가 필요합니다 :) – monczek

관련 문제