Bonjour,

J'essaie de supprimer toutes les bases d'une instance SQL avant de les recréer sans savoir le nombre et les noms des bases existantes.

J'utilise donc la requête suivante :

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
 
DECLARE @base nvarchar(50)
 
DECLARE bases_cursor CURSOR FOR 
SELECT name
FROM master.dbo.sysdatabases
WHERE status = 16
 
OPEN bases_cursor
 
FETCH NEXT FROM bases_cursor INTO @base
 
WHILE @@FETCH_STATUS = 0
BEGIN
	DROP DATABASE @base
 
	FETCH NEXT FROM bases_cursor INTO @base
END
 
CLOSE bases_cursor
DEALLOCATE bases_cursor
Mais il n'accepte pas le DROP DATABASE avec une variable derrière au lieu d'un vrai nom de base...Le message d'erreur est le suivant :
Server: Msg 170, Level 15, State 1, Line 15
Line 15: Incorrect syntax near '@base'.


Quelqu'un aurait une idée ??? Merci d'avance en tout cas.