Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE TRIGGER COD_FK_Alternativas
- before INSERT OR UPDATE OF ID_DOCUMENTO ON PESEF_DOC_COMUNICACAO
- FOR each ROW
- DECLARE
- CURSOR cdoc_xml IS SELECT * FROM PED_DOCUMENTO pdoc WHERE pdoc.ped_cod_documento = :NEW.ID_DOCUMENTO;
- edoc_xml cdoc_xml%ROWTYPE;
- CURSOR cdoc_adicional IS SELECT * FROM PED_DOCUMENTOS_ADICIONAIS padd padd.pdo_cod_documento = :NEW.ID_DOCUMENTO;
- edoc_adicional cdoc_adicional%ROWTYPE;
- invalid_id EXCEPTION;
- BEGIN
- OPEN cdoc_xml;
- FETCH cdoc_xml INTO edoc_xml;
- IF cdoc_xml%NOTFOUND THEN
- OPEN cdoc_adicional;
- FETCH cdoc_adicional INTO edoc_adicional;
- IF cdoc_adicional%NOTFOUND THEN
- RAISE invalid_id;
- ELSE
- NULL;
- END IF;
- ELSE
- NULL;
- END IF;
- EXCEPTION
- WHEN invalid_id THEN
- CLOSE cdoc_xml;
- CLOSE cdoc_adicional;
- raise_application_error(-20001,'Tentativa de registrar codigo invalido de documento XML ou adicional na PESEF_DOC_COMUNICACAO');
- CLOSE cdoc_xml;
- CLOSE cdoc_adicional;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement