sábado, 20 de julho de 2013

Oracle – Declare

SET SERVEROUTPUT ON;
DECLARE

iCOUNT NUMBER;

CURSOR CR_PO IS
SELECT D.IDENTIFICADOR, D.ITEM, SUBSTR(AT.CONTENT,0,10) DataF14
FROM TB_DADOS D
INNER JOIN ADDITIONAL_TEXT AT ON SUBSTR(AT.OBJECT_KEY,1,10) = D.DOCID AND SUBSTR(AT.OBJECT_KEY,12,6) = D.ITEM
WHERE AT.TEXT_ID = ‘F14 ‘ AND AT.LANGUAGE = ‘PT ‘;

BEGIN
iCOUNT := 0;

FOR LINHA IN CR_PO LOOP
BEGIN
UPDATE TB_DADOS SET FIELD1 = LINHA.DataF14 WHERE DOCID = LINHA.DOCID AND ITEM = LINHA.ITEM;

iCOUNT := iCOUNT + 1;

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line(TO_CHAR(SQLCODE) || ‘ – ‘ || LINHA.DOCID);
RETURN;
END;

END LOOP;
END;
/

Nenhum comentário:

Postar um comentário