Est-il possible d'utiliser une variable de type LONG dans un Trigger.
Si non exist-il un contournement ?
Merci beaucoup.
Est-il possible d'utiliser une variable de type LONG dans un Trigger.
Si non exist-il un contournement ?
Merci beaucoup.
Sur un plan de vue purement technique
en 10G
Code sql : 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 1 CREATE OR REPLACE TRIGGER long_trig 2 BEFORE UPDATE 3 ON emp 4 DECLARE 5 vMsg long := 'UPDATE EMP with variable LONG'; 6 BEGIN 7 dbms_output.put_line(vMsg); 8* END statement_level; 9 / Trigger created. INSERT INTO emp (empno,ename) VALUES (1234,'TITI'); 1 row created. UPDATE emp SET ename = 'GROS MINET' where ename='TITI'; UPDATE EMP with variable LONG 1 row updated.
la reponse est oui
Sur d'autres plans....
asktom.oracle.com tahiti.oracle.com otn.oracle.com
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
phrase chinoise issue du Huainanzi
Qu'est ce qui t'a motivé a poser la question?
J'ai jamais testé mais j'ai toujours cru que c'etait impossible.
http://download.oracle.com/docs/cd/B...tr.htm#1006228 (dans la section ''Trigger Restrictions on LONG and LONG RAW Datatypes'')
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
Bonjour,
La raison de cette question est la suivante :
Dans un LONG je récupère une chaine en HEXA que je dois convertir en ASCII avant de l'enregistrer dans la table. Et je comptai faire ce traitement dans un trigger.
Voila
A+
J'aimerai bien comprendre...
Si j'ai bonne mémoire un trigger est lui même stocké dans un LONG, alors comment se fait il qu'il soit possible de declarer un LONG dans un trigger?
Celà marche, dans l'exemple ci dessus, peut être parce que le corps du trigger n'est pas conséquent? peut être la variable LONG "vMsg" de l'exemple est vu pas le système comme un varchar2 ou je ne sais trop quoi?
Un expert peut il m'éclairer svp!!!
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
les type LONG est utilisé pour les données non structurées: images bin, documents et sont fournis a des fin de compatibilité descendates
Code sql : 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 CREATE OR REPLACE TRIGGER SCOTT.long_trig BEFORE UPDATE ON SCOTT.EMP DECLARE vMsg long := 'UPDATE EMP with variable LONG sfdfgfgggggggggggggggggggggg $ fggggggggggggggggggggggggggggggggggg sfdsfdgsdfgsdfg fsdgdfgsdfgfdg fdgdfsgsdfgdfgdfg dfgdfsgdfgdfg fgdfgdfgd dfgdfgdfg fgdfgdfg fgdfg ::;$^ppkopjkojopjojpj dfgdfgk fdgg ertert dfgdfgdfgfh ................ d gf fdgdfg gfsdfg sfgdfg 1231212313212312'; BEGIN put_buffer(vMsg); END statement_level; /
1 row updated.
Code sql : 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 UPDATE emp SET ename = 'TOTI' WHERE ename='TOTO'; UPDATE EMP with variable LONG sfdfgfgggggggggggggggggggggg $ fggggggggggggggggggggggggggggggggggg sfdsfdgsdfgsdfg fsdgdfgsdfgfdg fdgdfsgsdfgdfgdfg dfgdfsgdfgdfg fgdfgdfgd dfgdfgdfg fgdfgdfg fgdfg ::;$^p"pkopjkojopjojpj d fgdfgk ---------------- fdgg ertert dfgdfgdfgfh ................ d gf fdgdfg gfsdfg sfgdfg 1231212313212312
peut etre que tu as juste besoin d'une fonction
http://www.psoug.org/reference/convert_func.html
au lieu d'utiliser un trigger
asktom.oracle.com tahiti.oracle.com otn.oracle.com
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
phrase chinoise issue du Huainanzi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager