OVH Cloud OVH Cloud

Requete multi base

3 réponses
Avatar
Renaud
Bonjour,

J'aurais besoin de créer une procédure stockée qui prendrait comme paramètre
le nom d'une base et exécuterais une requete dans cette base.
Est-il possible de faire celà et si oui, comment ?

D'avance merci pour votre aide.

Renaud

3 réponses

Avatar
BVesan
Bonjour,
Une façon simple de résoudre ce problème consiste à créer dynamiquement la
requête:

DECLARE @CMD varchar(300)
SELECT @CMD = ' SELECT col1,col2,col3 FROM
['+@nom_base+'].[nom_proprietaire].[nom_table]'
EXECUTE @CMD

Si le résultat de la commande doit être exploité, il est possible, par
exemple, d'utiliser INSERT INTO ma_table EXECUTE @CMD...

Benjamin
Avatar
Philippe T [MS]
Bonjour,

Juste pour compléter, c'est pareil pour l'exécution d'une procédure stockée
:

DECLARE @CMD varchar(300)
SELECT @CMD = ' EXEC ['+@nom_base+'].[nom_proprietaire].[nom_procedure]'
EXECUTE @CMD


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"BVesan" wrote in message
news:
Bonjour,
Une façon simple de résoudre ce problème consiste à créer dynamiquement la
requête:

DECLARE @CMD varchar(300)
SELECT @CMD = ' SELECT col1,col2,col3 FROM
['+@nom_base+'].[nom_proprietaire].[nom_table]'
EXECUTE @CMD

Si le résultat de la commande doit être exploité, il est possible, par
exemple, d'utiliser INSERT INTO ma_table EXECUTE @CMD...

Benjamin



Avatar
Renaud
Bonjour et merci pour ces infos.

Juste en réponse :
Exécuter une procédure stockée depuis une autre base fonctionne
parfaitement, mais exécuter directement un Select, cela ne fonctionne pas.
Ce n'est pas grave, je vais procéder avec des procédure stockée.

Encore merci.

Renaud


"Philippe T [MS]" a écrit dans le message de
news: %
Bonjour,

Juste pour compléter, c'est pareil pour l'exécution d'une procédure
stockée :

DECLARE @CMD varchar(300)
SELECT @CMD = ' EXEC ['+@nom_base+'].[nom_proprietaire].[nom_procedure]'
EXECUTE @CMD


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"BVesan" wrote in message
news:
Bonjour,
Une façon simple de résoudre ce problème consiste à créer dynamiquement
la
requête:

DECLARE @CMD varchar(300)
SELECT @CMD = ' SELECT col1,col2,col3 FROM
['+@nom_base+'].[nom_proprietaire].[nom_table]'
EXECUTE @CMD

Si le résultat de la commande doit être exploité, il est possible, par
exemple, d'utiliser INSERT INTO ma_table EXECUTE @CMD...

Benjamin