Bonjour,

Je suis un débutant en SQL, et j'ai un peu de mal à utiliser les triggers.
J'ai donc un tableau "Championnat" qui contient les colonnes :
-Numéro du match
-Nom de l'équipe 1
-Nom de l'équipe 2
-Score
-Points gagnés par l'équipe 1
-Points gagnés par l'équipe 2

J'ai un autre tableau Classement_Championnat qui contient :
-Rang
-Nom de l'équipe
-Points

J'ai donc envie de modifier Classement_Championnat à chaque insertion dans le tableau Championnat (i.e dès qu'un match a été joué).

J'ai fait ça, mais ça n'a vraiment pas l'air de fonctionner :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE OR REPLACE FUNCTION Fct_MAJchampionnat() RETURNS trigger AS '
BEGIN
classement_championnat.Points = classement_championnat.Points + NEW.Tournoi.Points_Equipe1
WHERE classement_championnat.Equipe = NEW.Tournoi.Equipe1 AND NEW.Tournoi.nom_tournoi = 'Championnat'
 
classement_championnat.Points = classement_championnat.Points + NEW.Tournoi.Points_Equipe2
WHERE classement_championnat.Equipe = NEW.Tournoi.Equipe2 AND NEW.Tournoi.nom_tournoi = 'Championnat'
END;
'LANGUAGE 'plpgsql';
 
CREATE TRIGGER MAJChampionnat
AFTER INSERT ON Championnat
FOR EACH ROW
EXECUTE PROCEDURE Fct_MAJchampionnat();

Voici l'erreur renvoyée :

ERREUR: erreur de syntaxe sur ou près de « Championnat »
LINE 4: ...EW.Tournoi.Equipe1 AND NEW.Tournoi.nom_tournoi = 'Championna...
********** Erreur **********

ERREUR: erreur de syntaxe sur ou près de « Championnat »
État SQL :42601
Caractère : 256


Merci !