Bonjour ici,
Un petit up car je ne dois pas avoir tout compris ()
Dans le cas du dessus, pour les requetes SQL dynamiques,
est ce que ce sont les parametre ou les commandes qui doivent se trouver entre des ' ' ?
Par exemple, ce que je dois mettre en des guillemets c'est : +@nom+ ou bien les 'Backup database' ?
Car dans le même style j'ai voulu créer une requête dynamique :
1 2 3 4 5 6 7 8
| CREATE procedure restauration_avec_un_autre_nom @Nom_voulu varchar(50), @nom varchar(50), @nom_bak varchar(100)
AS
EXEC('restore database '+@Nom_voulu+' FROM DISK = ''D:\MSSQL\BACKUP\'+@nom+'\'+@nom_bak+'.bak'' , move '+@nom+'_Data'' to ''D:mssql\data\'+@nom_voulu+'_data.mdf'' , move '+@nom_voulu+'_Log'' to ''D:mssql\data\'+@nom_voulu+'_log.ldf''');
go |
mais lorsque je l'execute à l'aide de :
exec restauration_avec_un_autre_nom test2, test, test
il me met :
syntaxe incorrecte vers 'test_Data'.
Voyez-vous la source du problème ?
Partager