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 29/01/2007, 17h06   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Par défaut probleme inner and update sous oracle

Bonjour j'ai un probleme avec ma requete (un update avec inner join) sous oracle, pouvez m'aider?

UPDATE Table2
SET last_date = table1.last_date
INNER JOIN Table1 ON Table2.clientid = Table1.clientid;

probleme avec la ligne:
INNER JOIN Table1 ON Table2.clientid = Table1.clientid;

la commande sql ne se termine pas correctement...

merci d'avance!
edw0000d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h16   #2
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Par défaut probleme inner and update sous oracle

Bonjour j'ai un probleme avec ma requete (un update avec inner join) sous oracle, pouvez m'aider?
Code :
1
2
3
4
 
UPDATE Table2
SET last_date = table1.last_date
INNER JOIN Table1 ON Table2.clientid = Table1.clientid;
probleme avec la ligne:
Code :
INNER JOIN Table1 ON Table2.clientid = Table1.clientid;
Citation:
la commande sql ne se termine pas correctement...
merci d'avance!
edw0000d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h35   #3
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
1/ respectez les règles du forum en indiquant votre version d'Oracle
2/ votre syntaxe est farfelue : Cf. ce lien http://sql.developpez.com/sqlaz/dml/#L3
3/ pensez aux balises de mise en forme
4/ que cherchez-vous à faire avec cette requête de mise à jour ?
Peut être que la requête qui suit répond à votre problématique :
Code :
1
2
3
4
5
UPDATE TABLE2 T2
SET    T2.LAST_DATE = (SELECT T1.LAST_DATE
                       FROM   TABLE1 T1
                              INNER JOIN T2
                                ON T2.CLIENTID = T1.CLIENTID)
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 14h54   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
1
2
3
4
5
 
UPDATE Table2
SET last_date = (SELECT last_date FROM table1 
        WHERE Table2.clientid = Table1.clientid)
WHERE clientid IN (SELECT clientid FROM table1);
OK?
tu ne peux pas faire

Code :
1
2
3
4
 
UPDATE TABLE2 
SET ... 
JOIN TABLE1
ça ne va pas. Il n'y a pas de clause FROM dans le UPDATE
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 14h57   #5
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
il faut encore savoir quelle est la cardinalité de TABLE1.CLIENTID - TABLE2.CLIENTID...
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 15h18   #6
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Le multipost est interdit : http://www.developpez.net/forums/sho...d.php?t=271344 donc je supprime l'autre discussion.
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h15.


 
 
 
 
Partenaires

Hébergement Web