Có thể tạo khóa chính hoặc chỉ mục duy nhất trong câu lệnh SQL Server CREATE TABLE. Có thể tạo chỉ mục không phải là duy nhất trong câu lệnh CREATE TABLE không?
CREATE TABLE MyTable(
a int NOT NULL
,b smallint NOT NULL
,c smallint NOT NULL
,d smallint NOT NULL
,e smallint NOT NULL
-- This creates a primary key
,CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED (a)
-- This creates a unique nonclustered index on columns b and c
,CONSTRAINT IX_MyTable1 UNIQUE (b, c)
-- Is it possible to create a non-unique index on columns d and e here?
-- Note: these variations would not work if attempted:
-- ,CONSTRAINT IX_MyTable2 INDEX (d, e)
-- ,CONSTRAINT IX_MyTable3 NONCLUSTERED INDEX (d, e)
);
GO
-- The proposed non-unique index should behave identically to
-- an index created after the CREATE TABLE statement. Example:
CREATE NONCLUSTERED INDEX IX_MyTable4 ON MY_TABLE (d, e);
GO
Một lần nữa, mục tiêu là tạo chỉ mục không phải là duy nhất trong câu lệnh CREATE TABLE, không phải sau nó.
Đối với những gì đáng giá, tôi không thấy [SQL Server Books Online entry for CREATE TABLE] hữu ích.
Ngoài ra, [Câu hỏi này] gần giống hệt nhau, nhưng câu trả lời được chấp nhận không áp dụng.