0% found this document useful (0 votes)
10 views7 pages

Codigpooo

Uploaded by

david
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views7 pages

Codigpooo

Uploaded by

david
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

--------------------------------------------------------

-- Archivo creado - lunes-junio-26-2023


--------------------------------------------------------
--------------------------------------------------------

--------------------------------------------------------
-- DDL for Table ENTITY
--------------------------------------------------------

CREATE TABLE ENTITY


(
ENTITY_ID NUMBER (*,0) PRIMARY KEY,
DATAID VARCHAR2(20 BYTE),
VERSIONNUM VARCHAR2(20 BYTE),
FIRST_NAME VARCHAR2(400 BYTE),
UN_LIST_TYPE VARCHAR2(400 BYTE),
REFERENCE_NUMBER VARCHAR2(400 BYTE),
LISTED_ON VARCHAR2(400 BYTE),
COMMENTS1 VARCHAR2(4000 BYTE),
SORT_KEY VARCHAR2(100 BYTE),
SORT_KEY_LAST_MOD VARCHAR2(100 BYTE),
NAME_ORIGINAL_SCRIPT VARCHAR2(400 BYTE),
SUBMITTED_ON VARCHAR2(400 BYTE),
CODIGO VARCHAR2(100 BYTE),
FLAG VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE),
DETALLE_JSON CLOB
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS"
LOB ("DETALLE_JSON") STORE AS SECUREFILE (
TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192
CACHE NOCOMPRESS KEEP_DUPLICATES
STORAGE(INITIAL 106496 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
--------------------------------------------------------
-- DDL for Table INDIVIDUAL
--------------------------------------------------------

CREATE TABLE INDIVIDUAL


(
INDIVIDUAL_ID NUMBER (*,0) PRIMARY KEY,
DATAID VARCHAR2(20 BYTE),
VERSIONNUM VARCHAR2(20 BYTE),
FIRST_NAME VARCHAR2(400 BYTE),
SECOND_NAME VARCHAR2(400 BYTE),
THIRD_NAME VARCHAR2(400 BYTE),
UN_LIST_TYPE VARCHAR2(400 BYTE),
REFERENCE_NUMBER VARCHAR2(400 BYTE),
LISTED_ON VARCHAR2(100 BYTE),
COMMENTS1 VARCHAR2(4000 BYTE),
SORT_KEY VARCHAR2(100 BYTE),
SORT_KEY_LAST_MOD VARCHAR2(100 BYTE),
NAME_ORIGINAL_SCRIPT VARCHAR2(400 BYTE),
FOURTH_NAME VARCHAR2(400 BYTE),
GENDER VARCHAR2(100 BYTE),
SUBMITTED_BY VARCHAR2(100 BYTE),
CODIGO VARCHAR2(100 BYTE),
FLAG VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE),
DETALLE_JSON CLOB
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS"
LOB ("DETALLE_JSON") STORE AS SECUREFILE (
TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192
NOCACHE LOGGING NOCOMPRESS KEEP_DUPLICATES
STORAGE(INITIAL 106496 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;

CREATE TABLE TITLE


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
VALOR VARCHAR2(300 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE DESIGNATION


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
VALOR VARCHAR2(400 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE NATIONALITY


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
VALOR VARCHAR2(300 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE LIST_TYPE


(
ID NUMBER (*,0) PRIMARY KEY,
ENTITY_INDIVIDUAL_ID NUMBER (*,0),
VALOR VARCHAR2(300 BYTE),
TIPO VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE LAST_DATE_UPDATED


(
ID NUMBER (*,0) PRIMARY KEY,
ENTITY_INDIVIDUAL_ID NUMBER (*,0),
VALOR VARCHAR2(300 BYTE),
TIPO VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE ALIAS


(
ID NUMBER (*,0) PRIMARY KEY,
ENTITY_INDIVIDUAL_ID NUMBER (*,0),
QUALITY VARCHAR2(600 BYTE),
ALIAS_NAME VARCHAR2(600 BYTE),
NOTE VARCHAR2(600 BYTE),
DATE_OF_BIRTH VARCHAR2(600 BYTE),
CITY_OF_BIRTH VARCHAR2(600 BYTE),
COUNTRY_OF_BIRTH VARCHAR2(600 BYTE),
TIPO VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE ADDRESS


(
ID NUMBER (*,0) PRIMARY KEY,
ENTITY_INDIVIDUAL_ID NUMBER (*,0),
COUNTRY VARCHAR2(800 BYTE),
NOTE VARCHAR2(800 BYTE),
STATE_PROVINCE VARCHAR2(800 BYTE),
STREET VARCHAR2(800 BYTE),
CITY VARCHAR2(800 BYTE),
ZIP_CODE VARCHAR2(800 BYTE),
TIPO VARCHAR2(1 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE DATE_OF_BIRTH


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
TYPE_OF_DATE VARCHAR2(300 BYTE),
DATE_OF_BIRTH VARCHAR2(300 BYTE),
YEAR_OF_BIRTH VARCHAR2(300 BYTE),
FROM_YEAR VARCHAR2(300 BYTE),
TO_YEAR VARCHAR2(300 BYTE),
NOTE VARCHAR2(300 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE PLACE_OF_BIRTH


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
STATE_PROVINCE VARCHAR2(300 BYTE),
COUNTRY VARCHAR2(300 BYTE),
CITY VARCHAR2(300 BYTE),
NOTE VARCHAR2(300 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE TABLE DOCUMENT


(
ID NUMBER (*,0) PRIMARY KEY,
INDIVIDUAL_ID NUMBER (*,0),
TYPE_OF_DOCUMENT VARCHAR2(300 BYTE),
NUMBER_DOCUMENT VARCHAR2(300 BYTE),
ISSUING_COUNTRY VARCHAR2(300 BYTE),
NOTE VARCHAR2(300 BYTE),
COUNTRY_OF_ISSUE VARCHAR2(300 BYTE),
TYPE_OF_DOCUMENT2 VARCHAR2(300 BYTE),
DATE_OF_ISSUE VARCHAR2(300 BYTE),
CITY_OF_ISSUE VARCHAR2(300 BYTE),
ESTADO VARCHAR2(1 BYTE)
);

CREATE SEQUENCE "SEQ_ENTITY" MINVALUE 1 MAXVALUE


999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_INDIVIDUAL" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_TITLE" MINVALUE 1 MAXVALUE 999999999999999999999999999
INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_DESIGNATION" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_NATIONALITY" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_LIST_TYPE" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_LAST_DATE_UPDATED" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_ALIAS" MINVALUE 1 MAXVALUE 999999999999999999999999999
INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_ADDRESS" MINVALUE 1 MAXVALUE 999999999999999999999999999
INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_DATE_OF_BIRTH" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_PLACE_OF_BIRTH" MINVALUE 1 MAXVALUE
999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE
NOKEEP NOSCALE GLOBAL ;
CREATE SEQUENCE "SEQ_DOCUMENT" MINVALUE 1 MAXVALUE 999999999999999999999999999
INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE GLOBAL ;

--------------------------------------------------------
-- DDL for Package PKG_SBS_ONU
--------------------------------------------------------

CREATE OR REPLACE NONEDITIONABLE PACKAGE "PKG_SBS_ONU" is


TYPE rCur_Datos IS REF CURSOR;
procedure uspGetIDBySequence(pSeqName in varchar2, pSeqID out int);
procedure uspInsertIndividual(pDATAID in varchar2, pVERSIONNUM in varchar2,
pFIRST_NAME in varchar2, pSECOND_NAME in varchar2, pTHIRD_NAME in varchar2,
pUN_LIST_TYPE in varchar2, pREFERENCE_NUMBER in varchar2, pLISTED_ON in varchar2,
pCOMMENTS1 in varchar2, pSORT_KEY in varchar2, pSORT_KEY_LAST_MOD in varchar2,
pNAME_ORIGINAL_SCRIPT in varchar2, pFOURTH_NAME in varchar2, pGENDER in varchar2,
pSUBMITTED_BY in varchar2, pCODIGO in varchar2, pFLAG in varchar2, pESTADO in
varchar2, pDETALLE_JSON in varchar2, pIndividualID out integer);
procedure uspInsertEntity(pDATAID in varchar2, pVERSIONNUM in varchar2,
pFIRST_NAME in varchar2, pUN_LIST_TYPE in varchar2, pREFERENCE_NUMBER in varchar2,
pLISTED_ON in varchar2, pCOMMENTS1 in varchar2, pSORT_KEY in varchar2,
pSORT_KEY_LAST_MOD in varchar2, pNAME_ORIGINAL_SCRIPT in varchar2, pSUBMITTED_ON in
varchar2, pCODIGO in varchar2, pFLAG in varchar2, pESTADO in varchar2,
pDETALLE_JSON in varchar2, pEntityID out integer);
end pkg_SBS_ONU;

--------------------------------------------------------
-- DDL for Package Body PKG_SBS_ONU
--------------------------------------------------------

create or replace NONEDITIONABLE package body "PKG_SBS_ONU" is


procedure uspGetIDBySequence(pSeqName in varchar2, pSeqID out int) is
sql_cursor varchar2(400) := '';
P_CURSOR rCur_Datos;
begin
sql_cursor := 'select ' || pSeqName || '.nextval from dual';
open P_CURSOR for sql_cursor;
fetch P_CURSOR into pSeqID;
close P_CURSOR;
EXCEPTION
when others then
RAISE_APPLICATION_ERROR(-20100, SqlErrM);
end uspGetIDBySequence;

procedure uspInsertIndividual(pDATAID in varchar2, pVERSIONNUM in varchar2,


pFIRST_NAME in varchar2, pSECOND_NAME in varchar2, pTHIRD_NAME in varchar2,
pUN_LIST_TYPE in varchar2, pREFERENCE_NUMBER in varchar2, pLISTED_ON in varchar2,
pCOMMENTS1 in varchar2, pSORT_KEY in varchar2, pSORT_KEY_LAST_MOD in varchar2,
pNAME_ORIGINAL_SCRIPT in varchar2, pFOURTH_NAME in varchar2, pGENDER in varchar2,
pSUBMITTED_BY in varchar2, pCODIGO in varchar2, pFLAG in varchar2, pESTADO in
varchar2, pDETALLE_JSON in varchar2, pIndividualID out integer) is
v_CONT_CODIGO NUMBER:=0;
v_CONT_DATA NUMBER:=0;
v_FLAG_NUEVO NUMBER:=0;
v_IndividualID_Old NUMBER:=0;
v_Codigo VARCHAR2(100):='';
v_FLAG VARCHAR2(1):='';
begin
SELECT NVL(COUNT(DATAID),0) INTO v_CONT_DATA FROM INDIVIDUAL WHERE DATAID =
pDATAID;
SELECT NVL(COUNT(DATAID),0) INTO v_CONT_CODIGO FROM INDIVIDUAL WHERE CODIGO =
pCODIGO;

v_FLAG := pFLAG;

IF (v_CONT_DATA = 0) THEN
v_FLAG_NUEVO := 1;
v_FLAG := '1';
ELSE
SELECT NVL(CODIGO,''), NVL(INDIVIDUAL_ID,0) INTO v_Codigo,
v_IndividualID_Old FROM INDIVIDUAL WHERE DATAID = pDATAID;

IF (v_CONT_CODIGO != 0 AND v_Codigo != pCODIGO) THEN


UPDATE TITLE SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE DESIGNATION SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE NATIONALITY SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE LIST_TYPE SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_IndividualID_Old AND TIPO = 'I';
UPDATE LAST_DATE_UPDATED SET ESTADO = 'E' WHERE
ENTITY_INDIVIDUAL_ID = v_IndividualID_Old AND TIPO = 'I';
UPDATE ALIAS SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_IndividualID_Old AND TIPO = 'I';
UPDATE ADDRESS SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_IndividualID_Old AND TIPO = 'I';
UPDATE DATE_OF_BIRTH SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE PLACE_OF_BIRTH SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE DOCUMENT SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
UPDATE INDIVIDUAL SET ESTADO = 'E' WHERE INDIVIDUAL_ID =
v_IndividualID_Old;
v_FLAG_NUEVO := 1;
v_FLAG := '1';
END IF;
END IF;

IF (v_FLAG_NUEVO = 1) THEN
pkg_sbs_onu.uspgetidbysequence('SEQ_INDIVIDUAL', pIndividualID);
INSERT INTO INDIVIDUAL
VALUES (pIndividualID, pDATAID, pVERSIONNUM, pFIRST_NAME, pSECOND_NAME,
pTHIRD_NAME, pUN_LIST_TYPE, pREFERENCE_NUMBER, pLISTED_ON, pCOMMENTS1, pSORT_KEY,
pSORT_KEY_LAST_MOD, pNAME_ORIGINAL_SCRIPT, pFOURTH_NAME, pGENDER, pSUBMITTED_BY,
pCODIGO, v_FLAG, pESTADO, pDETALLE_JSON);
ELSE
pIndividualID := 0;
END IF;

EXCEPTION
when others then
RAISE_APPLICATION_ERROR(-20100, SqlErrM);
end uspInsertIndividual;

procedure uspInsertEntity(pDATAID in varchar2, pVERSIONNUM in varchar2, pFIRST_NAME


in varchar2, pUN_LIST_TYPE in varchar2, pREFERENCE_NUMBER in varchar2, pLISTED_ON
in varchar2, pCOMMENTS1 in varchar2, pSORT_KEY in varchar2, pSORT_KEY_LAST_MOD in
varchar2, pNAME_ORIGINAL_SCRIPT in varchar2, pSUBMITTED_ON in varchar2, pCODIGO in
varchar2, pFLAG in varchar2, pESTADO in varchar2, pDETALLE_JSON in varchar2,
pEntityID out integer) is
v_CONT_CODIGO NUMBER:=0;
v_CONT_DATA NUMBER:=0;
v_FLAG_NUEVO NUMBER:=0;
v_EntityID_Old NUMBER:=0;
v_Codigo VARCHAR2(100):='';
v_FLAG VARCHAR2(1):='';
begin
SELECT NVL(COUNT(DATAID),0) INTO v_CONT_DATA FROM ENTITY WHERE DATAID =
pDATAID;
SELECT NVL(COUNT(DATAID),0) INTO v_CONT_CODIGO FROM ENTITY WHERE CODIGO =
pCODIGO;

v_FLAG := pFLAG;

IF (v_CONT_DATA = 0) THEN
v_FLAG_NUEVO := 1;
v_FLAG := '1';
ELSE
SELECT NVL(CODIGO,''), NVL(ENTITY_ID,0) INTO v_Codigo, v_EntityID_Old
FROM ENTITY WHERE DATAID = pDATAID;

IF (v_CONT_CODIGO != 0 AND v_Codigo != pCODIGO) THEN


UPDATE ALIAS SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_EntityID_Old AND TIPO = 'E';
UPDATE ADDRESS SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_EntityID_Old AND TIPO = 'E';
UPDATE LIST_TYPE SET ESTADO = 'E' WHERE ENTITY_INDIVIDUAL_ID =
v_EntityID_Old AND TIPO = 'E';
UPDATE LAST_DATE_UPDATED SET ESTADO = 'E' WHERE
ENTITY_INDIVIDUAL_ID = v_EntityID_Old AND TIPO = 'E';
UPDATE ENTITY SET ESTADO = 'E' WHERE ENTITY_ID = v_EntityID_Old;
v_FLAG_NUEVO := 1;
v_FLAG := '1';
END IF;
END IF;

IF (v_FLAG_NUEVO = 1) THEN
pkg_sbs_onu.uspgetidbysequence('SEQ_ENTITY', pEntityID);
INSERT INTO ENTITY
VALUES (pEntityID,pDATAID, pVERSIONNUM, pFIRST_NAME, pUN_LIST_TYPE,
pREFERENCE_NUMBER, pLISTED_ON, pCOMMENTS1, pSORT_KEY, pSORT_KEY_LAST_MOD,
pNAME_ORIGINAL_SCRIPT, pSUBMITTED_ON, pCODIGO, v_FLAG, pESTADO, pDETALLE_JSON);
ELSE
pEntityID := 0;
END IF;

EXCEPTION
when others then
RAISE_APPLICATION_ERROR(-20100, SqlErrM);
end uspInsertEntity;
end pkg_SBS_ONU;

--------------------------------------------------------
-- Constraints for Table ENTITY
--------------------------------------------------------

ALTER TABLE "ENTITY" ADD CONSTRAINT "IS_JSON" CHECK (DETALLE_JSON is json)


ENABLE;
ALTER TABLE "INDIVIDUAL" ADD CONSTRAINT "IS_JSON" CHECK (DETALLE_JSON is json)
ENABLE;

You might also like