Files
Customer/CONN/Once/conn#665.sql
2006-03-31 13:01:08 +00:00

94 lines
2.3 KiB
SQL

spool conn#665.log
commit;
DECLARE
CURSOR c_cursor
IS
SELECT d.ins_deel_key,ins_srtdeel_key, ins_deel_omschrijving, SUBSTR(ins_deel_omschrijving,2,8) ins_deel_omschrijving_new
FROM ins_deel d
WHERE 1=1
AND d.ins_deel_verwijder IS NULL
AND ins_srtdeel_key = 43401
AND fac.safe_to_number (SUBSTR (ins_deel_omschrijving, 2, 8)) > 0
AND LENGTH(SUBSTR (ins_deel_omschrijving, 2, 8)) = 8
ORDER BY 3;
next_record c_cursor%ROWTYPE;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (1024);
v_teller INTEGER;
c_halte_code INTEGER := 501;
c_commit_buffer INTEGER := 1000;
c_zero INTEGER := 0;
BEGIN
v_teller := c_zero;
FOR next_record IN c_cursor LOOP
BEGIN
v_teller := v_teller + 1;
v_errormsg := 'Verwijder eventueel aanwezig flexibel kenmerk';
delete
from ins_kenmerkdeel
where ins_kenmerkdeel_verwijder is null
and ins_kenmerk_key = c_halte_code
and ins_deel_key = next_record.ins_deel_key;
-- c_halte_code
v_errormsg := '--C-- flexprops Halte code';
INSERT INTO ins_kenmerkdeel
( ins_kenmerk_key
, ins_deel_Key
, ins_kenmerkdeel_waarde)
VALUES(c_Halte_code
, next_record.ins_deel_key
, next_record.ins_deel_omschrijving_new);
IF (v_teller > c_commit_buffer) THEN
v_teller := c_zero;
commit;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
'(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes
|| ')';
fac.imp_writelog ('CONN#665',
'Halte codes toevoegen',
'E',
v_errormsg,
to_char(next_record.ins_deel_key)
);
END;
END LOOP;
commit;
END;
/
spool off
commit;