본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

SQL Server - CATEGORY

SQL 테이블 PK 추가 및 삭제하기

시퀄人 2017.04.10 17:30

[LAB]

PatientTable 이 테이블에 ID 열로 PK 가 있음. PK 는 클러스터 인덱스로 정의 될 수 있음.

 

 

CREATE TABLE [dbo].[PatientTable](

       [ID] [int] NOT NULL,

       [name] [nvarchar](30) NULL,

       [Docname] [varchar](20) NULL,

       [Jumin] [varbinary](128) NULL,

       [Problem] [varbinary](400) NULL,

CONSTRAINT [PK_PatientTable] PRIMARY KEY CLUSTERED

(

       [ID] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

GO

 

다시 껍데기 테이블인 PatientTable2 를 생성한다.

 

CREATE TABLE [dbo].[PatientTable2](

       [ID] [int] NOT NULL,

       [name] [nvarchar](30) NULL,

       [Docname] [varchar](20) NULL,

       [Jumin] [varbinary](128) NULL,

       [Problem] [varbinary](400) NULL,

) ON [PRIMARY]

 

PK 조건을 추가할 아래와 같이 해주면 추가가 된다.

여기서 같은 디비안에 PK 이름이 같은경우 생성이 안된다. 다르게 정의르 해야 가능하다.

 

ALTER TABLE PatientTable2

ADD CONSTRAINT [PK_PatientTable2] PRIMARY KEY (ID);

 

<삭제하기>

 

ALTER TABLE PatientTable2

DROP CONSTRAINT [PK_PatientTable2];

 

이름이 중복시 아래와 같이 나온다.

 

ALTER TABLE PatientTable2

ADD CONSTRAINT [PK_PatientTable] PRIMARY KEY (ID);

메시지2714, 수준16, 상태4, 3

데이터베이스에'PK_PatientTable'()라는개체가이미있습니다.

메시지1750, 수준16, 상태0, 3

제약조건을만들수없습니다. 이전오류를참조하십시오.


키워드 :PK삭제, PK추가

댓글
댓글쓰기 폼
1 ··· 3 4 5 6 7 8 9 10 11 ··· 119