테이블을 만들고 기본 키를 추가하고 싶습니다.기본 키의 인덱스 이름
필자의 이해로 MS SQL은 기본 키에 클러스터 된 인덱스를 추가하고 기본 이름으로 이름을 지정합니다.
가능한 경우 테이블을 만들고 기본으로 생성 된 인덱스에 대한 사용자 지정 이름을 할당하고 싶습니다. 또는 테이블을 만든 후 기본 이름을 어떻게 바꿀 수 있습니까?
감사합니다.
테이블을 만들고 기본 키를 추가하고 싶습니다.기본 키의 인덱스 이름
필자의 이해로 MS SQL은 기본 키에 클러스터 된 인덱스를 추가하고 기본 이름으로 이름을 지정합니다.
가능한 경우 테이블을 만들고 기본으로 생성 된 인덱스에 대한 사용자 지정 이름을 할당하고 싶습니다. 또는 테이블을 만든 후 기본 이름을 어떻게 바꿀 수 있습니까?
감사합니다.
물론 - 당신이 당신의 CREATE TABLE
문에서 PRIMARY KEY
제한 조건을 정의 할 수 있습니다.
이 기본 PRIMARY KEY
CREATE TABLE dbo.Table
(ID INT IDENTITY PRIMARY KEY,
.......)
를 생성합니다하지만 당신은 완전히 너무 제약 조건의 이름을 정의 할 수 있습니다 : 인덱스에 대한
CREATE TABLE dbo.Table2
(ID INT IDENTITY CONSTRAINT PK_Table2 PRIMARY KEY,
......)
괜찮지 만 기본 인덱스 대신 인덱스의 이름을 어떻게 선택할 수 있습니까? – GibboK
@GlbboK : 나의 두 번째 예제를 보아라 - 인덱스의 이름 인 CONSTRAINT의 이름을 선택할 수있다 :'CONSTRAINT PK_Table2 PRIMARY KEY' - 당신은'PK_Table2' 또는 당신이 원하는 다른 것을 선택할 수있다. 불러라.... –
클러스터 된 기본 키를 만들면 인덱스를 만들지 않고 인덱스로 구성된 테이블을 만들 수 있습니다.
클러스터 된 기본 키는 SqlServer에 기본 키가있는 테이블을 만들 때 기본 옵션입니다.
http://msdn.microsoft.com/en-us/library/aa933131(SQL.80).aspx
오, 네, ** ** 인덱스를 만드십시오! 그것은 클러스터 된 인덱스입니다. 그렇습니다. 테이블은 그 인덱스에 의해 정렬됩니다. 그러나 여전히 인덱스입니다. –
나는 oracle을 사용한다. oracle IOT Tables (Organization Index)는 SqlServer Clustered Tables와 유사합니다. IOT 테이블의 인덱스 세그먼트는 TableName (동일한 세그먼트)으로 명명됩니다. – x77
? 또는 열 (키)에 대해? –
SQL 서버에서는 클러스터 된 인덱스를 기본 키에 두지 않습니다. 예, 기본값입니다. 그러나 '기본 키가 클러스터되지 않음'도 작동합니다. 다른 클러스터 된 인덱스를 추가하지 않는 한 테이블은 힙이됩니다. 인덱스에 대한 –
하시기 바랍니다 – GibboK