PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Ajout d'une ligne dans une relation

Technique - php | Ajout d'une ligne dans une relation

Par Michael5 le 14/07/2005 - 11:29

Bonjour (je reposte mon message car je m'étais trompé de zone)
Je souhaiterais écrire un script en php pemettant d'insérer dans une table les identifiants (ou clés primaires) créés à la suite d'une insertion venant d'être réalisée dans une autre table. La table récupérant ces identifiants les utiliserait comme clés étrangères et ainsi réaliserait une jointure avec d'autres tables. J'ai pensé à la fonction pg_last_oid (mais à quoi peut servir l'oid si on a déjà créé des clés primaires auto incrémentées?) peu pratique s'il faut aussi modifier les relations et les requêtes. Pouvez vous me dire quel script ou fonction je pourrais utiliser? Merci d'avance de vos réponses

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Insertion de clés étrangère

Michael5/ = 15 Juillet, 2005 - 14:40

Bonjour

Je souhaiterais trouver un moyen d'insérer (fonctiion, trigger ou autre) dans une table les identifiants (ou clés primaires) créés à la suite d'une insertion venant d'être réalisée dans une autre table. Par exemple
Voici le schéma
table 1:
ch_id >>(cle primaire)

table 2:
tab2_id
ch_id# >>(cle etrangere references table1)

j'aimerais savoir comment à la suite d'une insertion dans la table 1 récupérer la valeur de "ch_id" et l'insérer dans table2 en tant que clé étrangère, ce qui réaliserait la jointure.

Merci d'avance de vos réponses.


Trigger?

Jean-Paul Argudo/ = 16 Juillet, 2005 - 18:03

Bonjour,
Pourquoi ne pas utiliser un trigger, qui sur insertion dans la table principale, fera un insert dans la table secondaire?...

RTFM: http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/triggers.html

Notez bien que dans votre cas, un simple trigger avec du code pl/pgsql serait plus simple:

RTFM: http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/plpgsql-trigger.html

--
Jean-Paul ARGUDO
www.PostgreSQLFr.org


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.