Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 17/03/2006, 11h32   #1
Invité régulier
 
Inscription : octobre 2005
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 10
Points : 6
Points : 6
Envoyer un message via MSN à Traz
Par défaut Update multitables

Bonjour,

Je voulais savoir si vous saviez s'il était possible de faire un update sur plusieurs dont une est "virutel" (construite via une sous requete)


ça c'est possible c'est sur :
Code :
1
2
3
UPDATE matable, matable2
SET matable.monchamp = matable2.champDeLaModification
WHERE matable.champ = matable2.champ2;
Mais est-ce que ça c'est possible ?
Code :
1
2
3
UPDATE matable, (SELECT * FROM etc...) AS matable2
SET matable.monchamp = matable2.champDeLaModification
WHERE matable.champ = matable2.champ2;

Si vous avez le temps, si vous avez envie et si vous savez, merci de me répondre !
Traz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2006, 16h21   #2
Membre du Club
 
Inscription : octobre 2002
Messages : 153
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 153
Points : 40
Points : 40
Par défaut Re: Update multitables

Citation:
Envoyé par Traz
Bonjour,

Je voulais savoir si vous saviez s'il était possible de faire un update sur plusieurs dont une est "virutel" (construite via une sous requete)


ça c'est possible c'est sur :
Code :
1
2
3
UPDATE matable, matable2
SET matable.monchamp = matable2.champDeLaModification
WHERE matable.champ = matable2.champ2;
Mais est-ce que ça c'est possible ?
Code :
1
2
3
UPDATE matable, (SELECT * FROM etc...) AS matable2
SET matable.monchamp = matable2.champDeLaModification
WHERE matable.champ = matable2.champ2;

Si vous avez le temps, si vous avez envie et si vous savez, merci de me répondre !
Pour ta 2ème manipulation je ne pense pas que ce soit possible !

Mais pour faire quelque chose de similaire tu peux créer une vue que tu nommes matable2 sur laquelle tu mets des règles pour donner l'illusion qu'elle peut être modifiée et normalement cela marchera.
sylsau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2006, 17h21   #3
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Par défaut Re: Update multitables

Bonjour,

Citation:
Envoyé par Traz
ça c'est possible c'est sur :
Code :
1
2
3
UPDATE matable, matable2
SET matable.monchamp = matable2.champDeLaModification
WHERE matable.champ = matable2.champ2;
Ah ben non, justement, c'est pas possible...
La syntaxe correcte pour PostgreSQL est :

Code :
1
2
3
4
UPDATE matable 
SET matable.monchamp = matable2.champDeLaModification
FROM matable2
WHERE matable.champ = matable2.champ2;
Tu peux tout à fait utiliser une sous-requête dans la clause FROM.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather 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 08h02.


 
 
 
 
Partenaires

Hébergement Web