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

trigger

Technique - Langages Procéduraux (PL) | trigger

Par 78alex78 le 14/12/2007 - 11:27

bonjour,
j'ai créé un trigger sur une de mes table :
CREATE trigger majprix AFTER INSERT OR UPDATE ON produits FRO EACH ROW EXECUTE modifprix();
ma procédure stockée "modifprix" retourne un trigger (apparemment, c'est obligatoire??) et dans le code de modifprix, j'utilise une comparaison :
IF OLD.prix_vente <> NEW.prix_vente THEN ...
quand j'insère un nouveau produit dans ma table, j'ai un message d'erreur "OLD is not assigned yet".
est-ce quelqu'un peut m'aider?
merci d'avance

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.

OLD != NEW

SAS/ = 14 DĂ©cembre, 2007 - 15:10

Bonjour,

Lors d'un insert, OLD n'existe pas, puisque, justement, vous travaillez sur une nouvelle ligne.

Il vous faut tester l'ordre. INSERT alors pas de test de l'ancienne valeur, UPDATE alors test possible.

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


merci

78alex78/ = 14 DĂ©cembre, 2007 - 16:00

merci. je m'en suis aperçue juste avant de lire votre réponse.
par contre, j'ai un autre problème avec le dblink : je souhaite vérifier dans la table t2 de la base2 si j'ai un enregistrement de meme ID que celui de la table1 base 1; si non, je le créé dans t2 si oui, je met à jour t2. si les 2 tables sont dans la meme base, pas de problème mais dès que je met le dblink, la requete s'effectue bien mais rien n'est modifié dans t2.
pouvez-vous m'aider?


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