Create DataBase

BasicInstinct Messages postés 1471 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 - 18 août 2006 à 10:30
nejiassadi Messages postés 3 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 10 avril 2012 - 3 avril 2012 à 22:03
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

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
18 août 2006 à 17:16
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
0
nejiassadi Messages postés 3 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 10 avril 2012
3 avril 2012 à 22:03
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"
0
Rejoignez-nous