Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/06/2005, 19h23   #1
Invité régulier
 
Inscription : mars 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 22
Points : 8
Points : 8
Par défaut Problème fonction et trigger sous 7.2

Bonjour,

Voilà j'ai un problème avec un trigger sus postgres 7.2:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
CREATE FUNCTION checkDateRenduOK() RETURNS TRIGGER AS $checkDateRenduOK$
	BEGIN
	   IF NEW.dateRendu > (SELECT dateRenduMax FROM epreuves WHERE epreuves.ID_Epreuve=NEW.ID_Epreuve)	
		THEN RAISE EXCEPTION 'Date rendu depassee!';
	   END IF;
	   RETURN NEW;
	END;
$checkDateRenduOK$ LANGUAGE plpgsql;
 
 
CREATE TRIGGER triggerEvaluation BEFORE INSERT ON evaluation
EXECUTE PROCEDURE checkDateRenduOK();
Sous 8.0 ça marchait bien mais maintenant j'ai une erreur:

Code :
1
2
 
ERROR:  parser: parse error at OR near "$"
J'arrive pas à trouver quoi changer pour que ça marche

Merci
anoukhan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2005, 22h53   #2
Membre habitué
 
Inscription : mai 2002
Messages : 131
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 131
Points : 142
Points : 142
Les doubles dollars comme échappement sont une nouveauté de la version 8 de PostgreSQL. Pour une 7.x, il te faut donc les remplacer par des quotes simples et appliquer les transformations nécessaire aux autres quotes simples à l'intérieur du trigger. Dans ce cas précis, il suffit de doubler ceux du RAISE EXCEPTION et ce sera réglé
Quentin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h27.


 
 
 
 
Partenaires

Hébergement Web