Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2006, 17h35   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 1
Points : 1
Par défaut Insert avec exception dans un select

Bonjour à tous,
Désolé si ma question n'est pas postée au bon endroit mais celle-ci relève autant d'Oracle que du sql.

SGBDR : Oracle 10g

Je souhaiterais concevoir une requête Insert avec la particularité suivante :

-Insérer tout les enregistrements de TableB qui ne se trouvent pas déjà dans TableA. Mes deux critères de comparaison sont le nom et le prénom d'un individu.
-Pour l'instant, ma requête select est concue ainsi : SELECT LastName,FirstName,Nom,Prenom FROM TableA,TableB WHERE LASTNAME=Nom AND FirstName=Prenom

Quel est le meilleur moyen pour exclure le résultat du SELECT dans l'Insert.

En espèrant avoir été suffisamment précis dans l'énoncé du problème.
En vous remerciant de votre aide
Jaskoula
jaskoula est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 17h46   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
NOT IN ou NOT EXISTS
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 17h49   #3
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
Si tu veux tous les élements d'un table ou il n'existe pas de correspondance pour une autre table, alors il faut naturellement utiliser le 'NOT EXISTS' qui est fait pour ça:

Code :
1
2
3
4
SELECT * FROM TableA WHERE
 NOT EXISTS
 ( SELECT 1 FROM TableB
   TableA.LASTNAME=TableB.Nom AND TableA.FirstName=TableB.Prenom)
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 18h46   #4
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 1
Points : 1
Re-Bonjour,

Merci beaucoup pour votre réponse rapide et claire.
Salutations
Jaskoula
jaskoula est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h28.


 
 
 
 
Partenaires

Hébergement Web