Tôi có một dự án lớn .sqlproj. Trong một file sql Tôi có một định nghĩa bảng:Tại sao tôi được phép có hai chỉ mục có cùng tên?
CREATE TABLE [dbo].[TableOne] (
[ColumnName] UNIQUEIDENTIFIER NULL
);
GO
CREATE UNIQUE CLUSTERED INDEX [TableOneIndex]
ON [dbo].[TableOne]([ColumnName] ASC;
trong một file sql Tôi có định nghĩa bảng khác:
CREATE TABLE [dbo].[TableTwo] (
[ColumnName] UNIQUEIDENTIFIER NULL
);
GO
CREATE UNIQUE CLUSTERED INDEX [TableOneIndex]
ON [dbo].[TableTwo]([ColumnName] ASC;
Lưu ý rằng cả hai chỉ số này được gọi là TableOneIndex
. Tuy nhiên, dự án xây dựng tốt và triển khai tốt.
Điều này có thể hợp pháp như thế nào?
tên Index cần phải là duy nhất cho mỗi _table_/_view_, không phải toàn bộ DB: http://stackoverflow.com/a/1732007/1583 – Oded
Cả hai cột được gọi là 'ColumnName' và đó cũng là quy phạm pháp luật :) – AakashM