Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Erreur lors de la suppression de l'index sur la base de données SQL Azure :syntaxe incorrecte près du mot clé "ON" (contexte utilisateur =dbo)

Il semble que le problème précédait le nom de l'index avec le schéma (bien que je jure que de nombreux exemples que j'ai lus font exactement cela).

La syntaxe correcte du script est donc :

declare @sql nvarchar(max);
set @sql = N'';
select @sql = @sql + N'DROP INDEX ' + i.name + N' ON ' + OBJECT_SCHEMA_NAME(i.OBJECT_ID) + '.' + o.name + ';
'
FROM sys.indexes AS i INNER JOIN sys.tables AS o ON i.[object_id] = o.[object_id]
where i.name is not null and o.name is not null and i.type_desc like '%COLUMN%'
PRINT @sql;
EXEC sp_executesql @sql;