Create DataBase

Signaler
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
-
Messages postés
3
Date d'inscription
mercredi 28 mars 2012
Statut
Membre
Dernière intervention
10 avril 2012
-
bonjour a tous,

j'ai 2 petites questions pour des experts en procedures stockees :

1) J'ai une procedure stockees qui doit me créer une DataBase. Mon probleme est que le nom de la base est passé en parametre de la procedure.
Si je fais CREATE DATABASE toto, ca fonctionne. (il crée toto)
Si je fais CREATE DATABASE @nomTable, j'ai une erreur.

Si qq'un connait la syntaxe pour créer une base dont le nom est passé en parametre, je suis preneur ^^

2) Est il possible de faire une procedure stockée qui crée une procedure stockée ? (avec le nom passé en parametre ?)

Bonne journee

BasicInstinct

2 réponses

Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
7
Il n'est pas possible de faire une création de procédure stockée et/ou base de données directement à partir d'une variable.


Par contre de manière indirecte en utilisant du code SQL dynamique (c'est l'une des rares utilisations où il est quasiement impossible de s'en passer) :

DECLARE @mavar
sysname
SET @mavar
=
'AZERTY'
EXEC('CREATE DATABASE '
+ @mavar
)


Même principe avec les procédures stockées.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
Messages postés
3
Date d'inscription
mercredi 28 mars 2012
Statut
Membre
Dernière intervention
10 avril 2012

réponse pour le 2em question :"vous ne peut pas faire la déclaration dune procédure avec la même identifiant qui utilise dans le paramétré de ce dernier" il doit utilise un autre identifiant"