2012-10-23 2 views

답변

73

하나의 명령문에 두 제약 조건을 모두 추가하는 것은 생각보다 쉽지 않았으며 많은 예제가없는 것처럼 보였습니다 (최소한 나는 쉽게 찾을 수 없었습니다). 그래서 내가 어떻게 여기에서 그것을했는지, 그리고 누군가가 더 좋은 방법을 제안 할 수있는 것을 나눌 것이라고 생각 했단 말인가?

ALTER TABLE [table name] ADD 
    [New Column Name] [Column Type] 
    CONSTRAINT [constraint name] DEFAULT ([default value]) NOT NULL, 
    CONSTRAINT [constraint name] FOREIGN KEY ([New Column Name]) 
    REFERENCES [Other Table] ([Foreign ID]) 

예 :

ALTER TABLE tableA ADD 
    myNewColumn BIGINT 
    CONSTRAINT myNamedConstraint_df default (1) NOT NULL, 
    CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn) 
    REFERENCES tableB (tableBPrimaryKeyID) 
0

나는 SQL Server 관리 Studio에서, 두 부분으로 그것을했다.

ALTER TABLE MyTable 
ADD MyId uniqueidentifier DEFAULT (NEWID()) 

그런 다음 수동으로 GUID를 실제로 새 열에 있어야하는 것으로 변경했습니다. 그런 다음 외래 키 제약 조건을 추가했습니다.

ALTER TABLE MyTable 
ADD FOREIGN KEY (MyId) 
REFERENCES OtherTable(Id)