Как создать некластеризованный индекс в, Составляют Таблицу?

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     
)

Это приводит к

Неправильный синтаксис около 'некластеризируемого' ключевого слова.

Я упомянул справку MSDN для создать синтаксиса таблицы. Я не уверен что случилось здесь.

18
задан DineshDB 22 March 2018 в 07:29
поделиться

2 ответа

В справке в онлайн-книгах действительно упоминается ключевое слово 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     
)
19
ответ дан 30 November 2019 в 07:44
поделиться

Удалите это некластеризованное ключевое слово и используйте оператор 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)
14
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: