2010-04-22 6 views
14
Create table FavoriteDish  
( 
FavID int identity (1,1) primary key not null,  
DishID int references Dishes(DishID) not null ,  
CelebrityName nvarchar(100) nonclustered not null  
) 

이 결과는 Incorrect syntax near the keyword 'nonclustered'입니다. 테이블 만들기 구문에 대한 MSDN 도움말을 참조했습니다. 여기에 뭐가 잘못 됐는지 나는 잘 모르겠다.테이블 만들기에서 비 클러스터형 인덱스를 만드는 방법은 무엇입니까?

+0

([SQL 서버와의 CREATE TABLE 문 내의 클러스터되지 않은 고유하지 않은 인덱스를 만들기]의 가능한 중복 http://stackoverflow.com/questions/6193293/create-a-nonclustered-non-unique-index -within-the-create-table-statement-with-sq) – AaronLS

+0

@AaronLS이 특정 질문은 당신이 가리키는 질문보다 먼저 먼저 질문해야합니다. 어느 쪽이 당신이 가리키고있는 사람이이 하나의 복제본이라고 부를 수 있다는 것을 의미합니다. –

답변

16

온라인 도움말 실제로 CLUSTERED 키워드를 언급하지만 UNIQUE 또는 PRIMARY KEY 제약 조건에만 관련됩니다. 이러한 제약 조건 둘 다 인덱스를 만들고 인덱스를 클러스터링할지 또는 클러스터링하지 않을지 지정할 수 있습니다.

표준 비 클러스터형 인덱스를 만들려면이 구문을 사용할 수 없습니다.

Create table FavoriteDish  
( 
FavID int identity (1,1) primary key not null,  
DishID int references Dishes(DishID) not null ,  
CelebrityName nvarchar(100) constraint ux_CelebrityName unique NONCLUSTERED not null  
) 
+0

아하, 의미가 있습니다. 그것 msdn 다음 절에 있어야합니다. –

+5

은 고유 색인 에 대한 클러스터되지 않은 고유 인덱스 고유 키의 기본 키에 대한 인덱스 UX_을 IX_을 UK_을 PK_을 적절한 이름 규칙을 추가하는 것을 잊지 마세요 내 인덱스 이름의 모든 소요 <색인 또는 키 유형> _

_ _ _ mario

10

지우기이 클러스터되지 않은 키워드 및 사용이 테이블에 인덱스를 추가하는 CREATE INDEX 문이의 문서에서 읽을 수 있습니다

http://msdn.microsoft.com/en-us/library/ms188783.aspx

구문은 여기에 있습니다 :

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> (column [ ASC | DESC ] [ ,...n ]) 
    [ INCLUDE (column_name [ ,...n ]) ] 
    [ WHERE <filter_predicate> ] 
    [ WITH (<relational_index_option> [ ,...n ]) ] 
    [ ON { partition_scheme_name (column_name) 
     | filegroup_name 
     | default 
     } 
    ] 
    [ FILESTREAM_ON { filestream_filegroup_name | partition_scheme_name | "NULL" } ] 

[ ; ] 

코드는 여기 :

CREATE NONCLUSTERED INDEX index_clustered ON FavoriteDish(CelebrityName asc) 
+4

Svisstack, 고맙습니다. 알고 있습니다.하지만 테이블 생성 명령문 내에서 만들 수는 없습니다. Create Table 문법에서 알 수 있듯이, Create Table 문을 사용하여 NON-UNIQUE NONCLUSTERED 인덱스를 생성 할 수 있습니다. –

+0

여기를 참고하십시오 : http://stackoverflow.com/questions/6193293/create-a-nonclustered-non-unique-index -within-the-table-statement-with-sq –

관련 문제