Krollo a écrit :
Bonjour ,
Je cherche a faire une requete qui regarde si les données d'une table "a" de la Base "A" sont les memes que celle de la table "b" de la Base "B"
Deja cela est-il possible ?
Si oui comment on fait pour faire une requete dans 2 bases differente
Merci d'avance
|
C'est possible ... mais c'est spécifique et faut bien se renseigner p/r au SGBD/R qu'on utilise
Par exemple, avec Sybase (en Transact SQL), on peut faire des requetes multibases (voire même multiserveurs Sybase, à condition que les DBA et admins sys aient bien configuré le "bousin" ).
Suffit juste de "préfixer un peu plus" les tables
Ex. :
- soient les bases webshop et fournisseur sur le même serveur ASE
- soit la table commande avec les champs id_commande, et date_commande dans la base webshop
- soit la table article_commande avec les champs id_article, id_commande, et intitule dans la base webshop
- soit la table prix_article avec les champs id_article, prix, et stock dans la base fournisseur
On pourrait tout à fait avoir une requête du style :
SELECT art_comm.intitule, prix_art.prix, prix_art.stock
FROM webshop..commande comm , webshop..article_commande art_comm, fournisseur..prix_article prix_art
WHERE comm.date_commande = <aujourd'hui>
AND art_comm.id_commande = comm.id_commande
AND prix_art.id_article = art_comm.id_article |
Voilà l'idée, il suffit de préfixer les tables de la façon suivante <base de données sources>.<propriétaire>.<nom de la table>
En général, on met pas le propriétaire (c'est bien souvent 'dbo'), mais on oublie pas les '.'
Ca marche aussi pour référencer des procédures stockées, etc ...
Je rappelle, qu'il faut regarder dans la doc de son SGBD/R pour s'assurer que c'est possible et quelle est la syntaxe à utiliser ... J'ai donné un exemple pour Sybase, mais de mémoire alors y'a ptet qq erreurs qui se sont glissées, donc à regarder de près
Voilà
EDIT : Grilled
Message édité par Zzozo le 15-04-2005 à 09:44:54