Bonjour,

Pour mon apprentissage du PostgreSQL, j'ai un exercice où je dois vérifier des données avant insertion dans un table avec un trigger.

Ne sachant pas comment m'y prendre, je cherche un peu et trouve un exemple que voici:
http://www.java2s.com/Tutorial/Oracl...erttrigger.htm

Je m'inspire de cet exemple et écris ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
CREATE OR REPLACE TRIGGER check_station_data
BEFORE INSERT ON station
FOR EACH ROW
BEGIN
  -- check
  IF :NEW.nom IS NULL
    THEN RAISE_APPLICATION_ERROR(-20000, 'nom vide');
  END IF;
END;
 
INSERT INTO station VALUES(default, '', -59, 'France');
Seulement, voila toutes les errues me sautant à la figure, alors que tout me parrait correcte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
psql:projet.sql:177: ERREUR:  erreur de syntaxe sur ou près de « TRIGGER »
LIGNE 1 : CREATE OR REPLACE TRIGGER check_station_data
                            ^
psql:projet.sql:178: ERREUR:  erreur de syntaxe sur ou près de « IF »
LIGNE 1 : END IF;
              ^
psql:projet.sql:179: ATTENTION:  aucune transaction en cours
COMMIT
INSERT 0 1
Avez-vous une idée de se qui m'échappe ?