>Intendo un indice creato cosi:
>
>CREATE UNIQUE INDEX name_index
> ON table_name (Colonna1, Colonna2, ecc...)
>
>
>La cancellazione la eseguo con DROP INDEX name_table.name_index
Questa è la vecchia sintassi ormai deprecata che verrà rimossa nelle prossime versioni di SQL Server.
La nuova sintassi rispetta lo standard ANSI SQL:
DROP INDEX <indice> ON <schema>.<tabella>;
>Come faccio a sapere che l'indice esiste o no?
>
>Quale tabella del catalogo di SQL devo interrogare e come la
>devo interrogare?
La sys.indexes:
http://msdn.microsoft.com/it-it/library/ms173760.aspx
USE tempdb;
CREATE TABLE dbo.Students(
StudentID int NOT NULL,
FirstName varchar(10) NOT NULL
);
CREATE UNIQUE CLUSTERED INDEX IX_CL_Students
ON dbo.Students(StudentID);
IF EXISTS(
SELECT *
FROM sys.indexes
WHERE name = N'IX_CL_Students'
)
BEGIN
DROP INDEX IX_CL_Students ON dbo.Students;
END
DROP TABLE dbo.Students;
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org