Problème variable Curseur
Salut tout le monde
Je viens de créer un curseur qui devrait supprimer tous les index de plusieurs tables.
j'ai systématiquement une erreur, il me dit qu'une variable n'est pas déclarée.
Cette erreur intervient quand je veux faire le DROP INDEX, alors que si je remplace DROP INDEX par PRINT je n'ai pas l'erreur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
DECLARE @nomTab varchar(50)
DECLARE @nomIndex varchar(100)
DECLARE dropIndex CURSOR
FOR
select DISTINCT sysindexes.name, sysObjects.name
FROM sysindexes
INNER JOIN sysobjects ON sysObjects.id=sysindexes.id
INNER JOIN syscolumns ON syscolumns.id=sysobjects.id
WHERE (sysObjects.name LIKE 'C\_%' ESCAPE '\' OR sysObjects.name LIKE 'A\_%' ESCAPE '\' )
AND indid >=1
OPEN dropIndex
FETCH dropIndex INTO @nomIndex,@nomTab
WHILE @@FETCH_STATUS = 0
BEGIN
DROP INDEX @nomTab+'.'+@nomIndex
--PRINT @nomTab+'.'+@nomIndex
FETCH NEXT FROM dropIndex INTO @nomIndex,@nomTab
END
CLOSE dropIndex
DEALLOCATE dropIndex |
Version SQL SERVER 2000
Si quelqu'un a une idée
Merci par avance