OVH Cloud OVH Cloud

sqlserver 2000 Requete dans deux bases ?

4 réponses
Avatar
Landry SAÏZONOU
Bonjour,

Dans sql server 2000, je suis dans ma base BASE1 et j'aimerais créer une
procédure utilisant des données se trouvant dans une autre base de mon
serveur (BASE2).
Est-ce possible ?
Si oui comment ?

Merci par avance
SAIZONOU Landry
http://www.saizonou.info

4 réponses

Avatar
Romelard Fabrice [MVP]
Bonjour,

Oui tout simplement en préfixant par le nom de la base.
Par exemple, dans le cas d'un Join avec xxx correspondant au propriétaire de
l'objet :
SELECT
*
FROM Base1.xxx.MaTableBase1
INNER JOIN Base2.xxx.MaTableBase2
ON Base1.xxx.MaTableBase1.Champ1 = Base2.xxx.MaTableBase2.Champ1

--
Cordialement.

Romelard Fabrice [MVP]

"Landry SAÏZONOU" a écrit dans le message de news:
%23%
Bonjour,

Dans sql server 2000, je suis dans ma base BASE1 et j'aimerais créer une
procédure utilisant des données se trouvant dans une autre base de mon
serveur (BASE2).
Est-ce possible ?
Si oui comment ?

Merci par avance
SAIZONOU Landry
http://www.saizonou.info



Avatar
Landry SAÏZONOU
Merci


SAIZONOU Landry
http://www.saizonou.info

"Romelard Fabrice [MVP]" a écrit dans le message de
news: %
Bonjour,

Oui tout simplement en préfixant par le nom de la base.
Par exemple, dans le cas d'un Join avec xxx correspondant au propriétaire
de l'objet :
SELECT
*
FROM Base1.xxx.MaTableBase1
INNER JOIN Base2.xxx.MaTableBase2
ON Base1.xxx.MaTableBase1.Champ1 = Base2.xxx.MaTableBase2.Champ1

--
Cordialement.

Romelard Fabrice [MVP]

"Landry SAÏZONOU" a écrit dans le message de news:
%23%
Bonjour,

Dans sql server 2000, je suis dans ma base BASE1 et j'aimerais créer une
procédure utilisant des données se trouvant dans une autre base de mon
serveur (BASE2).
Est-ce possible ?
Si oui comment ?

Merci par avance
SAIZONOU Landry
http://www.saizonou.info







Avatar
SQLpro [MVP]
Landry SAÏZONOU a écrit :
Bonjour,

Dans sql server 2000, je suis dans ma base BASE1 et j'aimerais créer une
procédure utilisant des données se trouvant dans une autre base de mon
serveur (BASE2).
Est-ce possible ?
Si oui comment ?

Merci par avance
SAIZONOU Landry
http://www.saizonou.info





Utilisez un nom qualifié :
base.schéma.objet.

Exemple :


SELECT *
FROM master.dbo.sysobjects s1
INNER JOIN tempdb.dbo.sysobjects s2
ON s1.id = s2.id

ou encore si vous vous êtes connecté par sa, donc utilisateur dbo :


SELECT *
FROM master..sysobjects s1
INNER JOIN tempdb..sysobjects s2
ON s1.id = s2.id

Lisez l'article que j'ai écrit sur le sujet :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L2.1

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Racimo
Pour utiliser une table située dans une autre base sur la même instance,
utiliser l'instruction "use nomdebase go" pour contextualiser l'instruction

Pour utiliser une base située sur une autre instance, déclarer un serveur
lié pointant vers cette autre base puis répercuter cela dans les instructions
SQL
ex: si votre serveur lié s'appel serveur1

select * from serveur1.nomdepropriétaire.nomdetable selectionnera les
enregistrements d'une table une autre base et une autre instance...

"Landry SAÏZONOU" a écrit :

Bonjour,

Dans sql server 2000, je suis dans ma base BASE1 et j'aimerais créer une
procédure utilisant des données se trouvant dans une autre base de mon
serveur (BASE2).
Est-ce possible ?
Si oui comment ?

Merci par avance
SAIZONOU Landry
http://www.saizonou.info