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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
SQL> CREATE TABLE ps_vb_crdt_comment(
siren_num char(10),vb_seq_num number,
comments long)
Table created.
SQL> CREATE TABLE ps_vb_crtdescr_tao(
siren_num char(10),vb_seq_num number,error_flag varchar2(1),
comments long)
Table created.
SQL> CREATE OR REPLACE FUNCTION VB_TEST(
vb_s_param1 IN varchar2)
RETURN varchar2
IS
vb_s_result VARCHAR2(32767);
BEGIN
FOR f IN (SELECT a.siren_num, a.vb_seq_num, b.comments
FROM ps_vb_crdt_comment a, ps_vb_crtdescr_tao b
WHERE a.siren_num = b.siren_num
AND a.vb_seq_num = b.vb_seq_num
AND b.error_flag = 'Y')
LOOP
UPDATE ps_vb_crdt_comment
SET comments = f.comments
WHERE siren_num = f.siren_num AND vb_seq_num = f.vb_seq_num;
END LOOP;
vb_s_result := 'Fin';
RETURN vb_s_result;
end VB_TEST;
Function created.
SQL> sho error
No errors.
SQL> insert into ps_vb_crdt_comment(
siren_num,vb_seq_num,comments)
values(
'A',1,null)
1 row created.
SQL> insert into ps_vb_crtdescr_tao(
siren_num ,vb_seq_num ,error_flag ,comments )
values(
'A',1,'Y','blabla')
1 row created.
SQL> select comments from ps_vb_crdt_comment
COMMENTS
----------------------------------------------------------------------
1 row selected.
SQL> declare
x varchar2(400);
begin
x:=VB_TEST('1');
end;
PL/SQL procedure successfully completed.
SQL> select comments from ps_vb_crdt_comment
COMMENTS
----------------------------------------------------------------------
blabla
1 row selected. |
Partager