Bonjour à tous j'ai trois tables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE t_list
(
  list_id serial NOT NULL,
  list_type_id integer NOT NULL,
 -- ...
)
table customer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE t_customer
(
  cust_id serial NOT NULL,
  cust_first_name character varying(50) NOT NULL,
  cust_last_name character varying(50) NOT NULL,
  cust_email character varying(50),
--...
)
table de jointure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE TABLE t_cust_list
(
  cust_list_id serial NOT NULL,
  list_id serial NOT NULL,
  cust_id integer NOT NULL,
--...
)
j'aimerai créer un trigger qui permet après création ou suppression d'une nouvelle list d'inserer une ligne list_id et cust_id dans la table t-cust_list
voila ce que je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE FUNCTION CustList_Trigger() RETURNS trigger AS $t_cust_list$
 
 --
    -- Ajoute une ligne dans t-cust_list pour refléter l'opération réalisée
    -- sur t_list,
    -- utilise la variable spéciale TG_OP pour cette opération.
    --
 
  BEGIN
    IF (TG_OP = 'INSERT') THEN
     INSERT INTO t_cust_list SELECT list_id, cust_id, NEW.*;
     RETURN NEW;
    ELSIF (TG_OP = 'DELETE') THEN
     INSERT INTO t_cust_list SELECT list_id, cust_id, NEW.*;
     RETURN NEW;    
    END IF;
 
  END;
$t_cust_list$ language plpgsql;
 
CREATE TRIGGER CustList_Trigger BEFORE INSERT OR UPDATE ON t_list
    FOR EACH ROW EXECUTE PROCEDURE CustList_Trigger();
et voici l'erreur que j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
ERREUR:  le langage « plpgsql » n'existe pas
HINT:  Utiliser CREATE LANGUAGE pour charger le langage dans la base de données.
 
********** Error **********
 
ERREUR: le langage « plpgsql » n'existe pas
SQL state: 42704
Hint: Utiliser CREATE LANGUAGE pour charger le langage dans la base de données.
Quelqu'un a-til une idée de comment creer de nouveau lagange