|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 3 ![]() |
Bonjour
Je découvre postgresql, et j'ai une question toute bête dont je n'ai pas réussi à trouver une réponse claire pour le moment : peut on, et si oui comment, faire une requete du type "INSERT OR UPDATE", sans passer par des regles ou des fonctions ? j'utilise postgresql 8.0.0 sur windows merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : septembre 2006 Messages : 935 ![]() |
Bonjour,
Tu peux installer PGAdmin c'est un client graphique avec lequel tu pourras faire tes requetes sinon avec le client pgsql en ligne de commande tu te connecte à ta base et tu tapes tes requêtes. Sinon tu peux lire la doc ou voir un tutoriel sur la mise en place de postgres ca doit etre expliqué, avec des exemples et peut être même des images. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 3 ![]() |
je me suis mal exprimé, ce que je voudrais faire ressemblerait à ça :
IF EXISTS (SELECT * FROM test WHERE winename='Chateau Lafite 2003') UPDATE test SET stock = 47 WHERE winename='Chateau Lafite 2003'; ELSE INSERT INTO test VALUES('Chateau Lafite 2003', '47'); END IF j'ai déjà pgadmin, et j'ai parcouru pas mal de forums pour trouver une solution simple à ce problème tres bête, mais j'ai pas du bien chercher... tous les exemples sur lesquels je suis tombé impliquaient l'utilisation de triggers ou l'application de rules, ce que je voudrais éviter. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : septembre 2006 Messages : 935 ![]() |
D'après ce que j'ai compris de postgresql IF est une fonction PL/pgSQL (ou autre langage procédural) quand tu fais ta requete c'est du SQL et en SQL y'a pas IF donc tu dois créer une fonction si tu veux faire ta requete avec un IF.
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 3 ![]() |
ok merci.
|
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : septembre 2006 Messages : 935 ![]() |
Je ne dis pas que c'est impossible, je pense que tu devrais plutot chercher du coté de l'execution de contenu de fonction sans créer une fonction... je sais pas si je suis claire là!
Si tu trouve une solution ca serai cool de la poster! Bon courage!! |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
Citation:
__________________
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 |
|
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Inscription : février 2005 Messages : 12 ![]() |
Bonjour,
Je fais remonter ce post un peu ancien : Je me suis mis récement à postgresql, et j'ai aussi été étonné de ne pas trouver aisément comment réaliser ce genre de commande ( UPDATE OR INSERT ). J'ai cru comprendre qu'il n'y avait pas de commande de base pour cela, mais qu'il fallait utiliser les règles et les déclencheurs. J'ai fait des essais, mais je rencontre quelques problèmes : j'ai voulu écrire une règle sur l'INSERT d'une table, qui fait l'insert si l'enregistrement n'existe pas, sinon met l'enregistrement dans une autre table. Cela donne quelque chose comme : Code :
Quelqu'un aurait une réponse ? Et serait-il possible d'avoir une solution ou un exemple référence au problème UPDATE OR INSERT ? Merci |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com