Requete multi Bases ?¿

Requete multi Bases ?¿ - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2005 à 15:03:09    

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 :)
 

Reply

Marsh Posté le 14-04-2005 à 15:03:09   

Reply

Marsh Posté le 14-04-2005 à 16:11:33    

Requete multi Bases...?? connais pas...
 
mais je pense qu'il faut simplement faire 2 requêtes différentes et comparer par la suite les résultats
 
en php et avec mysql ça donnerai quelque chose dans ce genre là :


$reqA='SELECT * FROM tableA';
$dbA='A';
$reqB='SELECT * FROM tableB';
$dbB='B';
 
$resultA=mysql_db_query($dbA, $reqA);
$resultB=mysql_db_query($dbB, $reqB);


et après tu compare les 2 résultats
sinon je vois pas vraiment d'autres solutions
 
si quelqu'un a une autre idée, je suis assez curieux de savoir comment on pourrait faire autrement...


Message édité par andlio le 14-04-2005 à 16:14:08
Reply

Marsh Posté le 14-04-2005 à 16:39:22    

Il suffit de préfixer le nom de tes tables par le nom de la base ;)
 
Exemple SELECT * FROM ma_base.ma_table
 
Du coup tu fais un seul mysql_connect() et pas de mysql_select_db().

Reply

Marsh Posté le 14-04-2005 à 16:45:23    

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à  :hello:
 
 
EDIT : Grilled :D


Message édité par Zzozo le 15-04-2005 à 09:44:54
Reply

Marsh Posté le 14-04-2005 à 16:50:31    

Merki , mon sgbd ne le gère pas mais comme sa je m'endormirai moi bete :)
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed