Bonjour,
je desirerai concatener un sensemble de valeurs afin d'avoir a la fin une chaine pour l'executer en tant que trigger.
voila le code
le prob c'est qu'il ne veut pas concatener les valeurs des diff et diffusion
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 create or replace procedure generer(photo VARCHAR2 default NULL,code VARCHAR2 default NULL,t VARCHAR2 default NULL, Key VARCHAR2 default NULL,date_modif VARCHAR2 default NULL,diffusion VARCHAR2 default NULL,service VARCHAR2 default NULL,user VARCHAR2 default NULL,pass VARCHAR2 default NULL) IS trigger_diffusion VARCHAR(300) ; diff BOOLEAN ; diffusion VARCHAR(20); service VARCHAR(20); begin trigger_diffusion :='CREATE OR REPLACE TRIGGER trigger_diffusion BEFORE UPDATE OR INSERT ON PERSONNES FOR EACH ROW DECLARE diff BOOLEAN ; diff:=true ; BEGIN '; trigger_diffusion:= trigger_diffusion||' if ( :new.diffphoto = 1 ) then diff:=true else diff:=false; end if;end if ; update '||t||'@'||service||' set '||diffusion||'=:'||diff||' where substr('||key||',1,(length('||key||')-1)= :new.id_personne'; dbms_output.put_line(trigger_diffusion) ; end;
voila l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2PL/SQL: Compilation unit analysis terminated PLS-00410: champs en double interdits dans RECORD ou TABLE
Partager