Ho un grande progetto .sqlproj. In un file sql Ho una definizione di tabella:Perché mi è consentito avere due indici con lo stesso nome?
CREATE TABLE [dbo].[TableOne] (
[ColumnName] UNIQUEIDENTIFIER NULL
);
GO
CREATE UNIQUE CLUSTERED INDEX [TableOneIndex]
ON [dbo].[TableOne]([ColumnName] ASC;
In un altro file sql ho un'altra definizione di tabella:
CREATE TABLE [dbo].[TableTwo] (
[ColumnName] UNIQUEIDENTIFIER NULL
);
GO
CREATE UNIQUE CLUSTERED INDEX [TableOneIndex]
ON [dbo].[TableTwo]([ColumnName] ASC;
Si noti che entrambi gli indici sono chiamati TableOneIndex
. Eppure il progetto si integra e distribuisce bene.
Come può essere legale?
I nomi degli indici devono essere unici per _table_/_view_, non l'intero DB: http://stackoverflow.com/a/1732007/1583 – Oded
Entrambe le colonne sono chiamati 'ColumnName' e questo è anche legale :) – AakashM