Bonjour,

J'ai une requête d'ajout qui fonctionne bien si je la lance dans un fichier sql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
INSERT INTO  sdea_intranet (link) 
       SELECT docpath||'###'||docname||'###'||destination  FROM v_csdocs_sys where d_dkey =NEW.d_dkey;

Par contre, dans mon trigger, rien ne se passe :

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
23
24
25
26
27
28
29
30
31
32
33
34
-- Function: setdateintranet()
 
-- DROP FUNCTION setdateintranet();
 
CREATE OR REPLACE FUNCTION setdateintranet()
  RETURNS "trigger" AS
$BODY$
DECLARE
	new_id integer;
	new_link varchar; 
 
 
BEGIN 
      IF NEW.flag_publication_intranet = 'OUI'   THEN	 
	 NEW.d_date_publi_intranet := now();
 
        INSERT INTO  sdea_intranet (link) 
        SELECT docpath||'###'||docname||'###'||destination  FROM v_csdocs_sys where d_dkey =NEW.d_dkey;
 
 
      ELSE
        NEW.d_date_publi_intranet := NULL;
        -- on enlève la ligne dans la table
 
      END IF;
 
      RETURN NEW;
 
END;
$BODY$
  LANGUAGE plpgsql VOLATILE;
ALTER FUNCTION setdateintranet() OWNER TO sdea;
GRANT EXECUTE ON FUNCTION setdateintranet() TO public;
GRANT EXECUTE ON FUNCTION setdateintranet() TO sdea;

Merci de votre aide.