Bonjour ,

Débutant sur SQL SERVER , je souhaiterais avoir votre avis sur la syntaxe SQL qui suit, savoir si elle est correct ou pas .

Lorsque que je l'exécute j'ai une erreur disant que le curseur TableCursor
n'est pas déclaré


Voici la requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
DECLARE @Database nvarchar(100)
DECLARE @Table nvarchar(255)
DECLARE @cmd nvarchar(1000)
 
SET @cmd = 'DECLARE TableCursor CURSOR FOR SELECT table_catalog + ''.'' + table_schema + ''.'' + table_name as tableName   
                    FROM ' + @Database + '.INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''   
 
   -- create table cursor
   EXEC (@cmd)
 
   OPEN TableCursor
 
   FETCH NEXT FROM TableCursor INTO @Table
   WHILE @@FETCH_STATUS = 0
 
   BEGIN
	----- Traitement   
          FETCH NEXT FROM TableCursor INTO @Table
   END
 
   CLOSE TableCursor
   DEALLOCATE TableCursor
Pouvez-vous m'aider ?
Merci d'avance