Está en la página 1de 54

CREATE TABLE Bus ( cod_bus descripcion marca modelo color peso num_asientos longitud ancho ao_fab precio );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , FLOAT NULL , INTEGER NULL , FLOAT NULL , FLOAT NULL , DATE NULL , FLOAT NULL

CREATE UNIQUE INDEX XPKBus ON Bus (cod_bus ASC); ALTER TABLE Bus ADD CONSTRAINT XPKBus PRIMARY KEY (cod_bus); CREATE TABLE Catalogo ( cod_c cantidad cod_bus cod_emp );

VARCHAR2(20) INTEGER NULL VARCHAR2(20) VARCHAR2(20)

NOT NULL , , NULL , NULL

CREATE UNIQUE INDEX XPKCatalogo ON Catalogo (cod_c ASC); ALTER TABLE Catalogo ADD CONSTRAINT XPKCatalogo PRIMARY KEY (cod_c); CREATE TABLE Ciudad ( cod_ciu cod_reg nombre descripcion );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NOT NULL , VARCHAR2(20) NULL , VARCHAR2(200) NULL

CREATE UNIQUE INDEX XPKCiudad ON Ciudad (cod_ciu ASC,cod_reg ASC); ALTER TABLE Ciudad ADD CONSTRAINT XPKCiudad PRIMARY KEY (cod_ciu,cod_reg); CREATE TABLE Ciudad_llegada ( cod_cl descripcion cod_zon cod_ciu cod_reg );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKCiudad_llegada ON Ciudad_llegada

(cod_cl

ASC);

ALTER TABLE Ciudad_llegada ADD CONSTRAINT XPKCiudad_llegada PRIMARY KEY (cod_cl); CREATE TABLE Ciudad_partida ( cod_cp descripcion cod_zon cod_ciu cod_reg );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKCiudad_partida ON Ciudad_partida (cod_cp ASC); ALTER TABLE Ciudad_partida ADD CONSTRAINT XPKCiudad_partida PRIMARY KEY (cod_cp); CREATE TABLE Cliente ( cod_cli usuario nombres ape_pat ape_mat dni pasaporte ruc telef1 telef2 email1 email2 tarjeta_credito edad estado email3 telef3 telef4 );

VARCHAR2(20) VARCHAR2(50) VARCHAR2(20) VARCHAR2(50) VARCHAR2(50) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(50) VARCHAR2(50) VARCHAR2(20) INTEGER NULL VARCHAR2(20) VARCHAR2(50) VARCHAR2(20) VARCHAR2(20)

NOT NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , , NULL , NULL , NULL , NULL

CREATE UNIQUE INDEX XPKCliente ON Cliente (cod_cli ASC); ALTER TABLE Cliente ADD CONSTRAINT XPKCliente PRIMARY KEY (cod_cli); CREATE TABLE Cliente_Servicio ( cod_cli VARCHAR2(20) NOT NULL , cod_servicio VARCHAR2(20) NOT NULL , cantidad INTEGER NULL , precio_total FLOAT NULL , fecha DATE NULL ); CREATE UNIQUE INDEX XPKCliente_Servicio ON Cliente_Servicio (cod_cli ASC,cod_servicio ASC);

ALTER TABLE Cliente_Servicio ADD CONSTRAINT XPKCliente_Servicio PRIMARY KEY (cod_cli,cod_servicio); CREATE TABLE Contrasea ( cod_cli contrasea );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKContrasea ON Contrasea (cod_cli ASC); ALTER TABLE Contrasea ADD CONSTRAINT XPKContrasea PRIMARY KEY (cod_cli); CREATE TABLE Contrasea_Emp ( cod_empleado VARCHAR2(20) NOT NULL , contrasea VARCHAR2(20) NULL ); CREATE UNIQUE INDEX XPKContrasea_Emp ON Contrasea_Emp (cod_empleado ASC); ALTER TABLE Contrasea_Emp ADD CONSTRAINT XPKContrasea_Emp PRIMARY KEY (cod_empleado); CREATE TABLE Empleado ( cod_empleado nombres ape_pat ape_mat dni pasaporte telf1 telf2 email1 email2 salario tipo_id usuario estado sexo email3 telf3 telf4 );

VARCHAR2(20) VARCHAR2(20) VARCHAR2(50) VARCHAR2(50) VARCHAR2(20) VARCHAR2(20) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50) FLOAT NULL , VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50)

NOT NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL NULL NULL NULL NULL NULL NULL , , , , , ,

CREATE UNIQUE INDEX XPKEmpleado ON Empleado (cod_empleado ASC); ALTER TABLE Empleado ADD CONSTRAINT XPKEmpleado PRIMARY KEY (cod_empleado); CREATE TABLE Empleado_Sucursal ( cod_empleado VARCHAR2(20) NOT NULL , cod_suc VARCHAR2(20) NOT NULL );

CREATE UNIQUE INDEX XPKEmpleado_Sucursal ON Empleado_Sucursal (cod_empleado ASC,cod_suc ASC); ALTER TABLE Empleado_Sucursal ADD CONSTRAINT XPKEmpleado_Sucursal PRIMARY KEY (cod_empleado,cod_suc); CREATE TABLE Empresa_ven ( cod_emp nombre descripcion telf1 telf2 email1 email2 ruc razon_social );

VARCHAR2(20) NOT NULL , VARCHAR2(50) NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKEmpresa_ven ON Empresa_ven (cod_emp ASC); ALTER TABLE Empresa_ven ADD CONSTRAINT XPKEmpresa_ven PRIMARY KEY (cod_emp); CREATE TABLE Flota ( cod_suc cod_c cantidad descripcion total );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NOT NULL , INTEGER NULL , VARCHAR2(200) NULL , INTEGER NULL

CREATE UNIQUE INDEX XPKFlota ON Flota (cod_suc ASC,cod_c ASC); ALTER TABLE Flota ADD CONSTRAINT XPKFlota PRIMARY KEY (cod_suc,cod_c); CREATE TABLE Lista ( cod_lista detalle fecha cod_empleado cod_suc cod_viaje );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , DATE NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKLista ON Lista (cod_lista ASC); ALTER TABLE Lista ADD CONSTRAINT XPKLista PRIMARY KEY (cod_lista); CREATE TABLE Pasaje_viaje ( cod_lista

VARCHAR2(20) NOT NULL ,

cod_viaje detalle cod_cli cod_servicio );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKPasaje_viaje ON Pasaje_viaje (cod_lista ASC,cod_viaje ASC); ALTER TABLE Pasaje_viaje ADD CONSTRAINT XPKPasaje_viaje PRIMARY KEY (cod_lista,cod_viaje); CREATE TABLE Regin ( cod_reg nombre descripcion );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NULL , VARCHAR2(200) NULL

CREATE UNIQUE INDEX XPKRegin ON Regin (cod_reg ASC); ALTER TABLE Regin ADD CONSTRAINT XPKRegin PRIMARY KEY (cod_reg); CREATE TABLE Servicio ( cod_servicio precio_unitario tipo_id descripcion );

VARCHAR2(20) NOT NULL , FLOAT NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKServicio ON Servicio (cod_servicio ASC); ALTER TABLE Servicio ADD CONSTRAINT XPKServicio PRIMARY KEY (cod_servicio); CREATE TABLE Sucursal ( cod_suc nombre direccion ruc razon_social telf1 telf2 email1 email2 telf3 email3 );

VARCHAR2(20) NOT NULL , VARCHAR2(50) NULL , VARCHAR2(200) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL , VARCHAR2(50) NULL

CREATE UNIQUE INDEX XPKSucursal ON Sucursal (cod_suc ASC); ALTER TABLE Sucursal ADD CONSTRAINT XPKSucursal PRIMARY KEY (cod_suc);

CREATE TABLE Tipo_empleado ( tipo_id nombre descripcion );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NULL , VARCHAR2(200) NULL

CREATE UNIQUE INDEX XPKTipo_empleado ON Tipo_empleado (tipo_id ASC); ALTER TABLE Tipo_empleado ADD CONSTRAINT XPKTipo_empleado PRIMARY KEY (tipo_id); CREATE TABLE Tipo_servicio ( tipo_id nombre descripcion );

VARCHAR2(20) NOT NULL , VARCHAR2(20) NULL , VARCHAR2(200) NULL

CREATE UNIQUE INDEX XPKTipo_servicio ON Tipo_servicio (tipo_id ASC); ALTER TABLE Tipo_servicio ADD CONSTRAINT XPKTipo_servicio PRIMARY KEY (tipo_id); CREATE TABLE Viaje ( cod_viaje descripcion cod_cp cod_cl );

VARCHAR2(20) NOT NULL , VARCHAR2(200) NULL , VARCHAR2(20) NULL , VARCHAR2(20) NULL

CREATE UNIQUE INDEX XPKViaje ON Viaje (cod_viaje ASC); ALTER TABLE Viaje ADD CONSTRAINT XPKViaje PRIMARY KEY (cod_viaje); CREATE TABLE Zona ( cod_zon cod_ciu cod_reg nombre descripcion );

VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20)

NOT NULL , NOT NULL , NOT NULL , NULL , NULL

CREATE UNIQUE INDEX XPKZona ON Zona (cod_zon ASC,cod_ciu ASC,cod_reg

ASC);

ALTER TABLE Zona ADD CONSTRAINT XPKZona PRIMARY KEY (cod_zon,cod_ciu,cod_reg); ALTER TABLE Catalogo ADD (CONSTRAINT R_9 FOREIGN KEY (cod_bus) REFERENCES Bus (cod_bus) ON DE LETE SET NULL); ALTER TABLE Catalogo

ADD (CONSTRAINT R_19 FOREIGN KEY (cod_emp) REFERENCES Empresa_ven (cod_e mp) ON DELETE SET NULL); ALTER TABLE Ciudad ADD (CONSTRAINT R_21 FOREIGN KEY (cod_reg) REFERENCES Regin (cod_reg)); ALTER TABLE Ciudad_llegada ADD (CONSTRAINT R_24 FOREIGN KEY (cod_zon, cod_ciu, cod_reg) REFERENCES Zona (cod_zon, cod_ciu, cod_reg) ON DELETE SET NULL); ALTER TABLE Ciudad_partida ADD (CONSTRAINT R_23 FOREIGN KEY (cod_zon, cod_ciu, cod_reg) REFERENCES Zona (cod_zon, cod_ciu, cod_reg) ON DELETE SET NULL); ALTER TABLE Cliente_Servicio ADD (CONSTRAINT R_27 FOREIGN KEY (cod_cli) REFERENCES Cliente (cod_cli)) ; ALTER TABLE Cliente_Servicio ADD (CONSTRAINT R_28 FOREIGN KEY (cod_servicio) REFERENCES Servicio (cod _servicio)); ALTER TABLE Contrasea ADD (CONSTRAINT R_25 FOREIGN KEY (cod_cli) REFERENCES Cliente (cod_cli)) ; ALTER TABLE Contrasea_Emp ADD (CONSTRAINT R_26 FOREIGN KEY (cod_empleado) REFERENCES Empleado (cod _empleado)); ALTER TABLE Empleado ADD (CONSTRAINT R_1 FOREIGN KEY (tipo_id) REFERENCES Tipo_empleado (tipo _id) ON DELETE SET NULL); ALTER TABLE Empleado ADD (CONSTRAINT R_3 FOREIGN KEY (cod_empleado) REFERENCES Empleado (cod_ empleado) ON DELETE SET NULL); ALTER TABLE Empleado_Sucursal ADD (CONSTRAINT R_7 FOREIGN KEY (cod_empleado) REFERENCES Empleado (cod_ empleado)); ALTER TABLE Empleado_Sucursal ADD (CONSTRAINT R_8 FOREIGN KEY (cod_suc) REFERENCES Sucursal (cod_suc)) ; ALTER TABLE Flota ADD (CONSTRAINT R_10 FOREIGN KEY (cod_suc) REFERENCES Sucursal (cod_suc) ); ALTER TABLE Flota ADD (CONSTRAINT R_11 FOREIGN KEY (cod_c) REFERENCES Catalogo (cod_c)); ALTER TABLE Lista ADD (CONSTRAINT R_14 FOREIGN KEY (cod_empleado, cod_suc) REFERENCES Empl eado_Sucursal (cod_empleado, cod_suc) ON DELETE SET NULL); ALTER TABLE Lista ADD (CONSTRAINT R_18 FOREIGN KEY (cod_viaje) REFERENCES Viaje (cod_viaje

) ON DELETE SET NULL); ALTER TABLE Pasaje_viaje ADD (CONSTRAINT R_16 FOREIGN KEY (cod_lista) REFERENCES Lista (cod_lista )); ALTER TABLE Pasaje_viaje ADD (CONSTRAINT R_17 FOREIGN KEY (cod_viaje) REFERENCES Viaje (cod_viaje )); ALTER TABLE Pasaje_viaje ADD (CONSTRAINT R_30 FOREIGN KEY (cod_cli, cod_servicio) REFERENCES Clie nte_Servicio (cod_cli, cod_servicio) ON DELETE SET NULL); ALTER TABLE Servicio ADD (CONSTRAINT R_6 FOREIGN KEY (tipo_id) REFERENCES Tipo_servicio (tipo _id) ON DELETE SET NULL); ALTER TABLE Viaje ADD (CONSTRAINT R_12 FOREIGN KEY (cod_cp) REFERENCES Ciudad_partida (cod _cp) ON DELETE SET NULL); ALTER TABLE Viaje ADD (CONSTRAINT R_13 FOREIGN KEY (cod_cl) REFERENCES Ciudad_llegada (cod _cl) ON DELETE SET NULL); ALTER TABLE Zona ADD (CONSTRAINT R_22 FOREIGN KEY (cod_ciu, cod_reg) REFERENCES Ciudad (c od_ciu, cod_reg)); CREATE TRIGGER tD_Bus AFTER DELETE ON Bus for each row -- ERwin Builtin Trigger -- DELETE trigger on Bus DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Bus Catalogo on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000adf8", PARENT_OWNER="", PARENT_TABLE="Bus" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_9", FK_COLUMNS="cod_bus" */ UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_bus = NULL WHERE /* %JoinFKPK(Catalogo,:%Old," = "," AND") */ Catalogo.cod_bus = :old.cod_bus; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Bus AFTER UPDATE ON Bus for each row -- ERwin Builtin Trigger -- UPDATE trigger on Bus DECLARE NUMROWS INTEGER; BEGIN /* Bus Catalogo on parent update set null */

/* ERWIN_RELATION:CHECKSUM="0000d076", PARENT_OWNER="", PARENT_TABLE="Bus" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_9", FK_COLUMNS="cod_bus" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_bus <> :new.cod_bus THEN UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_bus = NULL WHERE /* %JoinFKPK(Catalogo,:%Old," = ",",") */ Catalogo.cod_bus = :old.cod_bus; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Catalogo AFTER DELETE ON Catalogo for each row -- ERwin Builtin Trigger -- DELETE trigger on Catalogo DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Catalogo Flota on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0000c2b1", PARENT_OWNER="", PARENT_TABLE="Catalo go" CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_11", FK_COLUMNS="cod_c" */ SELECT count(*) INTO NUMROWS FROM Flota WHERE /* %JoinFKPK(Flota,:%Old," = "," AND") */ Flota.cod_c = :old.cod_c; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Catalogo because Flota exists.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Catalogo BEFORE INSERT ON Catalogo for each row -- ERwin Builtin Trigger -- INSERT trigger on Catalogo DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empresa_ven Catalogo on child insert set null */

/* ERWIN_RELATION:CHECKSUM="0001cb7f", PARENT_OWNER="", PARENT_TABLE="Empres a_ven" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_19", FK_COLUMNS="cod_emp" */ UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_emp = NULL WHERE NOT EXISTS ( SELECT * FROM Empresa_ven WHERE /* %JoinFKPK(:%New,Empresa_ven," = "," AND") */ :new.cod_emp = Empresa_ven.cod_emp ) /* %JoinPKPK(Catalogo,:%New," = "," AND") */ and Catalogo.cod_c = :new.cod_c; /* ERwin Builtin Trigger */ /* Bus Catalogo on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Bus" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_9", FK_COLUMNS="cod_bus" */ UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_bus = NULL WHERE NOT EXISTS ( SELECT * FROM Bus WHERE /* %JoinFKPK(:%New,Bus," = "," AND") */ :new.cod_bus = Bus.cod_bus ) /* %JoinPKPK(Catalogo,:%New," = "," AND") */ and Catalogo.cod_c = :new.cod_c; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Catalogo AFTER UPDATE ON Catalogo for each row -- ERwin Builtin Trigger -- UPDATE trigger on Catalogo DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Catalogo Flota on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="0002e7b9", PARENT_OWNER="", PARENT_TABLE="Catalogo " CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_11", FK_COLUMNS="cod_c" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_c <> :new.cod_c THEN

SELECT count(*) INTO NUMROWS FROM Flota WHERE /* %JoinFKPK(Flota,:%Old," = "," AND") */ Flota.cod_c = :old.cod_c; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Catalogo because Flota exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Empresa_ven Catalogo on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empresa_ ven" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_19", FK_COLUMNS="cod_emp" */ SELECT count(*) INTO NUMROWS FROM Empresa_ven WHERE /* %JoinFKPK(:%New,Empresa_ven," = "," AND") */ :new.cod_emp = Empresa_ven.cod_emp; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_emp IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Catalogo because Empresa_ven does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Bus Catalogo on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Bus" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_9", FK_COLUMNS="cod_bus" */ SELECT count(*) INTO NUMROWS FROM Bus WHERE /* %JoinFKPK(:%New,Bus," = "," AND") */ :new.cod_bus = Bus.cod_bus; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_bus IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Catalogo because Bus does not exist.' ); END IF;

-- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Ciudad AFTER DELETE ON Ciudad for each row -- ERwin Builtin Trigger -- DELETE trigger on Ciudad DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad Zona on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0000da79", PARENT_OWNER="", PARENT_TABLE="Ciudad " CHILD_OWNER="", CHILD_TABLE="Zona" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_22", FK_COLUMNS="cod_ciu""cod_reg" */ SELECT count(*) INTO NUMROWS FROM Zona WHERE /* %JoinFKPK(Zona,:%Old," = "," AND") */ Zona.cod_ciu = :old.cod_ciu AND Zona.cod_reg = :old.cod_reg; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Ciudad because Zona exists.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Ciudad BEFORE INSERT ON Ciudad for each row -- ERwin Builtin Trigger -- INSERT trigger on Ciudad DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Regin Ciudad on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0000e0d0", PARENT_OWNER="", PARENT_TABLE="Regin" CHILD_OWNER="", CHILD_TABLE="Ciudad" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_21", FK_COLUMNS="cod_reg" */ SELECT count(*) INTO NUMROWS FROM Regin WHERE /* %JoinFKPK(:%New,Regin," = "," AND") */ :new.cod_reg = Regin.cod_reg; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN

raise_application_error( -20002, 'Cannot insert Ciudad because Regin does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Ciudad AFTER UPDATE ON Ciudad for each row -- ERwin Builtin Trigger -- UPDATE trigger on Ciudad DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad Zona on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00020872", PARENT_OWNER="", PARENT_TABLE="Ciudad" CHILD_OWNER="", CHILD_TABLE="Zona" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_22", FK_COLUMNS="cod_ciu""cod_reg" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_ciu <> :new.cod_ciu OR :old.cod_reg <> :new.cod_reg THEN SELECT count(*) INTO NUMROWS FROM Zona WHERE /* %JoinFKPK(Zona,:%Old," = "," AND") */ Zona.cod_ciu = :old.cod_ciu AND Zona.cod_reg = :old.cod_reg; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Ciudad because Zona exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Regin Ciudad on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Regin" CHILD_OWNER="", CHILD_TABLE="Ciudad" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_21", FK_COLUMNS="cod_reg" */ SELECT count(*) INTO NUMROWS FROM Regin WHERE /* %JoinFKPK(:%New,Regin," = "," AND") */ :new.cod_reg = Regin.cod_reg; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error(

-20007, 'Cannot update Ciudad because Regin does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Ciudad_llegada AFTER DELETE ON Ciudad_llegada for each row -- ERwin Builtin Trigger -- DELETE trigger on Ciudad_llegada DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad_llegada Viaje on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000af1a", PARENT_OWNER="", PARENT_TABLE="Ciudad _llegada" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_13", FK_COLUMNS="cod_cl" */ UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cl = NULL WHERE /* %JoinFKPK(Viaje,:%Old," = "," AND") */ Viaje.cod_cl = :old.cod_cl; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Ciudad_llegada BEFORE INSERT ON Ciudad_llegada for each row -- ERwin Builtin Trigger -- INSERT trigger on Ciudad_llegada DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Zona Ciudad_llegada on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00013ca3", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_llegada" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_24", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ UPDATE Ciudad_llegada SET /* %SetFK(Ciudad_llegada,NULL) */ Ciudad_llegada.cod_zon = NULL, Ciudad_llegada.cod_ciu = NULL, Ciudad_llegada.cod_reg = NULL WHERE NOT EXISTS ( SELECT * FROM Zona WHERE /* %JoinFKPK(:%New,Zona," = "," AND") */ :new.cod_zon = Zona.cod_zon AND :new.cod_ciu = Zona.cod_ciu AND

:new.cod_reg = Zona.cod_reg ) /* %JoinPKPK(Ciudad_llegada,:%New," = "," AND") */ and Ciudad_llegada.cod_cl = :new.cod_cl; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Ciudad_llegada AFTER UPDATE ON Ciudad_llegada for each row -- ERwin Builtin Trigger -- UPDATE trigger on Ciudad_llegada DECLARE NUMROWS INTEGER; BEGIN /* Ciudad_llegada Viaje on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00021005", PARENT_OWNER="", PARENT_TABLE="Ciudad_l legada" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_13", FK_COLUMNS="cod_cl" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_cl <> :new.cod_cl THEN UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cl = NULL WHERE /* %JoinFKPK(Viaje,:%Old," = ",",") */ Viaje.cod_cl = :old.cod_cl; END IF; /* ERwin Builtin Trigger */ /* Zona Ciudad_llegada on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_llegada" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_24", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ SELECT count(*) INTO NUMROWS FROM Zona WHERE /* %JoinFKPK(:%New,Zona," = "," AND") */ :new.cod_zon = Zona.cod_zon AND :new.cod_ciu = Zona.cod_ciu AND :new.cod_reg = Zona.cod_reg; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_zon IS NOT NULL AND :new.cod_ciu IS NOT NULL AND :new.cod_reg IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Ciudad_llegada because Zona does not exist.' ); END IF;

-- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Ciudad_partida AFTER DELETE ON Ciudad_partida for each row -- ERwin Builtin Trigger -- DELETE trigger on Ciudad_partida DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad_partida Viaje on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000a335", PARENT_OWNER="", PARENT_TABLE="Ciudad _partida" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_12", FK_COLUMNS="cod_cp" */ UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cp = NULL WHERE /* %JoinFKPK(Viaje,:%Old," = "," AND") */ Viaje.cod_cp = :old.cod_cp; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Ciudad_partida BEFORE INSERT ON Ciudad_partida for each row -- ERwin Builtin Trigger -- INSERT trigger on Ciudad_partida DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Zona Ciudad_partida on child insert set null */ /* ERWIN_RELATION:CHECKSUM="0001296c", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_partida" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_23", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ UPDATE Ciudad_partida SET /* %SetFK(Ciudad_partida,NULL) */ Ciudad_partida.cod_zon = NULL, Ciudad_partida.cod_ciu = NULL, Ciudad_partida.cod_reg = NULL WHERE NOT EXISTS ( SELECT * FROM Zona WHERE /* %JoinFKPK(:%New,Zona," = "," AND") */ :new.cod_zon = Zona.cod_zon AND :new.cod_ciu = Zona.cod_ciu AND :new.cod_reg = Zona.cod_reg ) /* %JoinPKPK(Ciudad_partida,:%New," = "," AND") */ and Ciudad_partida.cod_cp = :new.cod_cp;

-- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Ciudad_partida AFTER UPDATE ON Ciudad_partida for each row -- ERwin Builtin Trigger -- UPDATE trigger on Ciudad_partida DECLARE NUMROWS INTEGER; BEGIN /* Ciudad_partida Viaje on parent update set null */ /* ERWIN_RELATION:CHECKSUM="0002172c", PARENT_OWNER="", PARENT_TABLE="Ciudad_p artida" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_12", FK_COLUMNS="cod_cp" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_cp <> :new.cod_cp THEN UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cp = NULL WHERE /* %JoinFKPK(Viaje,:%Old," = ",",") */ Viaje.cod_cp = :old.cod_cp; END IF; /* ERwin Builtin Trigger */ /* Zona Ciudad_partida on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_partida" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_23", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ SELECT count(*) INTO NUMROWS FROM Zona WHERE /* %JoinFKPK(:%New,Zona," = "," AND") */ :new.cod_zon = Zona.cod_zon AND :new.cod_ciu = Zona.cod_ciu AND :new.cod_reg = Zona.cod_reg; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_zon IS NOT NULL AND :new.cod_ciu IS NOT NULL AND :new.cod_reg IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Ciudad_partida because Zona does not exist.' ); END IF; -- ERwin Builtin Trigger END;

/ CREATE TRIGGER tD_Cliente AFTER DELETE ON Cliente for each row -- ERwin Builtin Trigger -- DELETE trigger on Cliente DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente Cliente_Servicio on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0001d112", PARENT_OWNER="", PARENT_TABLE="Client e" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_27", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Cliente_Servicio WHERE /* %JoinFKPK(Cliente_Servicio,:%Old," = "," AND") */ Cliente_Servicio.cod_cli = :old.cod_cli; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Cliente because Cliente_Servicio exists.' ); END IF; /* ERwin Builtin Trigger */ /* Cliente Contrasea on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Client e" CHILD_OWNER="", CHILD_TABLE="Contrasea" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_25", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Contrasea WHERE /* %JoinFKPK(Contrasea,:%Old," = "," AND") */ Contrasea.cod_cli = :old.cod_cli; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Cliente because Contrasea exists.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Cliente AFTER UPDATE ON Cliente for each row -- ERwin Builtin Trigger -- UPDATE trigger on Cliente DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente Cliente_Servicio on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00021fe1", PARENT_OWNER="", PARENT_TABLE="Cliente" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_27", FK_COLUMNS="cod_cli" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_cli <> :new.cod_cli THEN SELECT count(*) INTO NUMROWS FROM Cliente_Servicio WHERE /* %JoinFKPK(Cliente_Servicio,:%Old," = "," AND") */ Cliente_Servicio.cod_cli = :old.cod_cli; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Cliente because Cliente_Servicio exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Cliente Contrasea on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Cliente" CHILD_OWNER="", CHILD_TABLE="Contrasea" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_25", FK_COLUMNS="cod_cli" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_cli <> :new.cod_cli THEN SELECT count(*) INTO NUMROWS FROM Contrasea WHERE /* %JoinFKPK(Contrasea,:%Old," = "," AND") */ Contrasea.cod_cli = :old.cod_cli; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Cliente because Contrasea exists.' ); END IF; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Cliente_Servicio AFTER DELETE ON Cliente_Servicio for each r ow -- ERwin Builtin Trigger -- DELETE trigger on Cliente_Servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente_Servicio Pasaje_viaje on parent delete set null */

/* ERWIN_RELATION:CHECKSUM="0000ee5c", PARENT_OWNER="", PARENT_TABLE="Client e_Servicio" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_30", FK_COLUMNS="cod_cli""cod_servicio" */ UPDATE Pasaje_viaje SET /* %SetFK(Pasaje_viaje,NULL) */ Pasaje_viaje.cod_cli = NULL, Pasaje_viaje.cod_servicio = NULL WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = "," AND") */ Pasaje_viaje.cod_cli = :old.cod_cli AND Pasaje_viaje.cod_servicio = :old.cod_servicio; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Cliente_Servicio BEFORE INSERT ON Cliente_Servicio for each r ow -- ERwin Builtin Trigger -- INSERT trigger on Cliente_Servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Servicio Cliente_Servicio on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0002017c", PARENT_OWNER="", PARENT_TABLE="Servic io" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_28", FK_COLUMNS="cod_servicio" */ SELECT count(*) INTO NUMROWS FROM Servicio WHERE /* %JoinFKPK(:%New,Servicio," = "," AND") */ :new.cod_servicio = Servicio.cod_servicio; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Cliente_Servicio because Servicio does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Cliente Cliente_Servicio on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Client e" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_27", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Cliente WHERE

/* %JoinFKPK(:%New,Cliente," = "," AND") */ :new.cod_cli = Cliente.cod_cli; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Cliente_Servicio because Cliente does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Cliente_Servicio AFTER UPDATE ON Cliente_Servicio for each ro w -- ERwin Builtin Trigger -- UPDATE trigger on Cliente_Servicio DECLARE NUMROWS INTEGER; BEGIN /* Cliente_Servicio Pasaje_viaje on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00033d67", PARENT_OWNER="", PARENT_TABLE="Cliente_ Servicio" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_30", FK_COLUMNS="cod_cli""cod_servicio" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_cli <> :new.cod_cli OR :old.cod_servicio <> :new.cod_servicio THEN UPDATE Pasaje_viaje SET /* %SetFK(Pasaje_viaje,NULL) */ Pasaje_viaje.cod_cli = NULL, Pasaje_viaje.cod_servicio = NULL WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = ",",") */ Pasaje_viaje.cod_cli = :old.cod_cli AND Pasaje_viaje.cod_servicio = :old.cod_servicio; END IF; /* ERwin Builtin Trigger */ /* Servicio Cliente_Servicio on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Servicio " CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_28", FK_COLUMNS="cod_servicio" */ SELECT count(*) INTO NUMROWS FROM Servicio WHERE /* %JoinFKPK(:%New,Servicio," = "," AND") */ :new.cod_servicio = Servicio.cod_servicio; IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Cliente_Servicio because Servicio does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Cliente Cliente_Servicio on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Cliente" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_27", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Cliente WHERE /* %JoinFKPK(:%New,Cliente," = "," AND") */ :new.cod_cli = Cliente.cod_cli; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Cliente_Servicio because Cliente does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Contrasea BEFORE INSERT ON Contrasea for each row -- ERwin Builtin Trigger -- INSERT trigger on Contrasea DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente Contrasea on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0000ee6a", PARENT_OWNER="", PARENT_TABLE="Client e" CHILD_OWNER="", CHILD_TABLE="Contrasea" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_25", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Cliente WHERE /* %JoinFKPK(:%New,Cliente," = "," AND") */ :new.cod_cli = Cliente.cod_cli; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Contrasea because Cliente does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Contrasea AFTER UPDATE ON Contrasea for each row -- ERwin Builtin Trigger -- UPDATE trigger on Contrasea DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente Contrasea on child update restrict */ /* ERWIN_RELATION:CHECKSUM="0000ed54", PARENT_OWNER="", PARENT_TABLE="Cliente" CHILD_OWNER="", CHILD_TABLE="Contrasea" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_25", FK_COLUMNS="cod_cli" */ SELECT count(*) INTO NUMROWS FROM Cliente WHERE /* %JoinFKPK(:%New,Cliente," = "," AND") */ :new.cod_cli = Cliente.cod_cli; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Contrasea because Cliente does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Contrasea_Emp BEFORE INSERT ON Contrasea_Emp for each row -- ERwin Builtin Trigger -- INSERT trigger on Contrasea_Emp DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado Contrasea_Emp on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0000f4f5", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Contrasea_Emp" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_26", FK_COLUMNS="cod_empleado" */

SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Contrasea_Emp because Empleado does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Contrasea_Emp AFTER UPDATE ON Contrasea_Emp for each row -- ERwin Builtin Trigger -- UPDATE trigger on Contrasea_Emp DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado Contrasea_Emp on child update restrict */ /* ERWIN_RELATION:CHECKSUM="0000f5d6", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Contrasea_Emp" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_26", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Contrasea_Emp because Empleado does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Empleado AFTER DELETE ON Empleado for each row -- ERwin Builtin Trigger -- DELETE trigger on Empleado

DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado Contrasea_Emp on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="000397bc", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Contrasea_Emp" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_26", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Contrasea_Emp WHERE /* %JoinFKPK(Contrasea_Emp,:%Old," = "," AND") */ Contrasea_Emp.cod_empleado = :old.cod_empleado; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Empleado because Contrasea_Emp exists.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado_Sucursal on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_7", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado_Sucursal WHERE /* %JoinFKPK(Empleado_Sucursal,:%Old," = "," AND") */ Empleado_Sucursal.cod_empleado = :old.cod_empleado; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Empleado because Empleado_Sucursal exists.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_4", FK_COLUMNS="cod_empleado" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = "," AND") */ Empleado.cod_empleado = :old.cod_empleado; /* ERwin Builtin Trigger */ /* Empleado Empleado on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea

do" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_3", FK_COLUMNS="cod_empleado" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = "," AND") */ Empleado.cod_empleado = :old.cod_empleado; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Empleado BEFORE INSERT ON Empleado for each row -- ERwin Builtin Trigger -- INSERT trigger on Empleado DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado Empleado on child insert set null */ /* ERWIN_RELATION:CHECKSUM="0002f84b", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_4", FK_COLUMNS="cod_empleado" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE NOT EXISTS ( SELECT * FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado ) /* %JoinPKPK(Empleado,:%New," = "," AND") */ and Empleado.cod_empleado = :new.cod_empleado; /* ERwin Builtin Trigger */ /* Empleado Empleado on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_3", FK_COLUMNS="cod_empleado" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE NOT EXISTS ( SELECT * FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado

) /* %JoinPKPK(Empleado,:%New," = "," AND") */ and Empleado.cod_empleado = :new.cod_empleado; /* ERwin Builtin Trigger */ /* Tipo_empleado Empleado on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tipo_e mpleado" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_1", FK_COLUMNS="tipo_id" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.tipo_id = NULL WHERE NOT EXISTS ( SELECT * FROM Tipo_empleado WHERE /* %JoinFKPK(:%New,Tipo_empleado," = "," AND") */ :new.tipo_id = Tipo_empleado.tipo_id ) /* %JoinPKPK(Empleado,:%New," = "," AND") */ and Empleado.cod_empleado = :new.cod_empleado; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Empleado AFTER UPDATE ON Empleado for each row -- ERwin Builtin Trigger -- UPDATE trigger on Empleado DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado Contrasea_Emp on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00075cda", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Contrasea_Emp" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_26", FK_COLUMNS="cod_empleado" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_empleado <> :new.cod_empleado THEN SELECT count(*) INTO NUMROWS FROM Contrasea_Emp WHERE /* %JoinFKPK(Contrasea_Emp,:%Old," = "," AND") */ Contrasea_Emp.cod_empleado = :old.cod_empleado; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Empleado because Contrasea_Emp exists.' ); END IF; END IF;

/* ERwin Builtin Trigger */ /* Empleado Empleado_Sucursal on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_7", FK_COLUMNS="cod_empleado" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_empleado <> :new.cod_empleado THEN SELECT count(*) INTO NUMROWS FROM Empleado_Sucursal WHERE /* %JoinFKPK(Empleado_Sucursal,:%Old," = "," AND") */ Empleado_Sucursal.cod_empleado = :old.cod_empleado; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Empleado because Empleado_Sucursal exists.' ); END IF; END IF; /* Empleado Empleado on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_4", FK_COLUMNS="cod_empleado" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_empleado <> :new.cod_empleado THEN UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = ",",") */ Empleado.cod_empleado = :old.cod_empleado; END IF; /* Empleado Empleado on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_3", FK_COLUMNS="cod_empleado" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_empleado <> :new.cod_empleado THEN UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.cod_empleado = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = ",",") */

Empleado.cod_empleado = :old.cod_empleado; END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_4", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_empleado IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Empleado because Empleado does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_3", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_empleado IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Empleado because Empleado does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Tipo_empleado Empleado on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tipo_emp leado" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_1", FK_COLUMNS="tipo_id" */ SELECT count(*) INTO NUMROWS FROM Tipo_empleado

WHERE /* %JoinFKPK(:%New,Tipo_empleado," = "," AND") */ :new.tipo_id = Tipo_empleado.tipo_id; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.tipo_id IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Empleado because Tipo_empleado does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Empleado_Sucursal AFTER DELETE ON Empleado_Sucursal for each row -- ERwin Builtin Trigger -- DELETE trigger on Empleado_Sucursal DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empleado_Sucursal Lista on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000c2c4", PARENT_OWNER="", PARENT_TABLE="Emplea do_Sucursal" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_14", FK_COLUMNS="cod_empleado""cod_suc" */ UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_empleado = NULL, Lista.cod_suc = NULL WHERE /* %JoinFKPK(Lista,:%Old," = "," AND") */ Lista.cod_empleado = :old.cod_empleado AND Lista.cod_suc = :old.cod_suc; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Empleado_Sucursal BEFORE INSERT ON Empleado_Sucursal for each row -- ERwin Builtin Trigger -- INSERT trigger on Empleado_Sucursal DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Sucursal Empleado_Sucursal on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00021254", PARENT_OWNER="", PARENT_TABLE="Sucurs al" CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_8", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Sucursal WHERE /* %JoinFKPK(:%New,Sucursal," = "," AND") */ :new.cod_suc = Sucursal.cod_suc; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Empleado_Sucursal because Sucursal does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado_Sucursal on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea do" CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_7", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Empleado_Sucursal because Empleado does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Empleado_Sucursal AFTER UPDATE ON Empleado_Sucursal for each row -- ERwin Builtin Trigger -- UPDATE trigger on Empleado_Sucursal DECLARE NUMROWS INTEGER; BEGIN /* Empleado_Sucursal Lista on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00031d05", PARENT_OWNER="", PARENT_TABLE="Empleado _Sucursal" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_14", FK_COLUMNS="cod_empleado""cod_suc" */

IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_empleado <> :new.cod_empleado OR :old.cod_suc <> :new.cod_suc THEN UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_empleado = NULL, Lista.cod_suc = NULL WHERE /* %JoinFKPK(Lista,:%Old," = ",",") */ Lista.cod_empleado = :old.cod_empleado AND Lista.cod_suc = :old.cod_suc; END IF; /* ERwin Builtin Trigger */ /* Sucursal Empleado_Sucursal on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Sucursal " CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_8", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Sucursal WHERE /* %JoinFKPK(:%New,Sucursal," = "," AND") */ :new.cod_suc = Sucursal.cod_suc; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Empleado_Sucursal because Sucursal does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado Empleado_Sucursal on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado " CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_7", FK_COLUMNS="cod_empleado" */ SELECT count(*) INTO NUMROWS FROM Empleado WHERE /* %JoinFKPK(:%New,Empleado," = "," AND") */ :new.cod_empleado = Empleado.cod_empleado; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007,

'Cannot update Empleado_Sucursal because Empleado does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Empresa_ven AFTER DELETE ON Empresa_ven for each row -- ERwin Builtin Trigger -- DELETE trigger on Empresa_ven DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Empresa_ven Catalogo on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000a7f3", PARENT_OWNER="", PARENT_TABLE="Empres a_ven" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_19", FK_COLUMNS="cod_emp" */ UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_emp = NULL WHERE /* %JoinFKPK(Catalogo,:%Old," = "," AND") */ Catalogo.cod_emp = :old.cod_emp; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Empresa_ven AFTER UPDATE ON Empresa_ven for each row -- ERwin Builtin Trigger -- UPDATE trigger on Empresa_ven DECLARE NUMROWS INTEGER; BEGIN /* Empresa_ven Catalogo on parent update set null */ /* ERWIN_RELATION:CHECKSUM="0000d338", PARENT_OWNER="", PARENT_TABLE="Empresa_ ven" CHILD_OWNER="", CHILD_TABLE="Catalogo" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_19", FK_COLUMNS="cod_emp" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_emp <> :new.cod_emp THEN UPDATE Catalogo SET /* %SetFK(Catalogo,NULL) */ Catalogo.cod_emp = NULL WHERE /* %JoinFKPK(Catalogo,:%Old," = ",",") */ Catalogo.cod_emp = :old.cod_emp; END IF;

-- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Flota BEFORE INSERT ON Flota for each row -- ERwin Builtin Trigger -- INSERT trigger on Flota DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Catalogo Flota on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0001d1fa", PARENT_OWNER="", PARENT_TABLE="Catalo go" CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_11", FK_COLUMNS="cod_c" */ SELECT count(*) INTO NUMROWS FROM Catalogo WHERE /* %JoinFKPK(:%New,Catalogo," = "," AND") */ :new.cod_c = Catalogo.cod_c; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Flota because Catalogo does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Sucursal Flota on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Sucurs al" CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_10", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Sucursal WHERE /* %JoinFKPK(:%New,Sucursal," = "," AND") */ :new.cod_suc = Sucursal.cod_suc; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Flota because Sucursal does not exist.' ); END IF; -- ERwin Builtin Trigger

END; / CREATE TRIGGER tU_Flota AFTER UPDATE ON Flota for each row -- ERwin Builtin Trigger -- UPDATE trigger on Flota DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Catalogo Flota on child update restrict */ /* ERWIN_RELATION:CHECKSUM="0001e15a", PARENT_OWNER="", PARENT_TABLE="Catalogo " CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_11", FK_COLUMNS="cod_c" */ SELECT count(*) INTO NUMROWS FROM Catalogo WHERE /* %JoinFKPK(:%New,Catalogo," = "," AND") */ :new.cod_c = Catalogo.cod_c; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Flota because Catalogo does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Sucursal Flota on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Sucursal " CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_10", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Sucursal WHERE /* %JoinFKPK(:%New,Sucursal," = "," AND") */ :new.cod_suc = Sucursal.cod_suc; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Flota because Sucursal does not exist.' ); END IF; -- ERwin Builtin Trigger END; /

CREATE TRIGGER tD_Lista AFTER DELETE ON Lista for each row -- ERwin Builtin Trigger -- DELETE trigger on Lista DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Lista Pasaje_viaje on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0000dc02", PARENT_OWNER="", PARENT_TABLE="Lista" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_16", FK_COLUMNS="cod_lista" */ SELECT count(*) INTO NUMROWS FROM Pasaje_viaje WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = "," AND") */ Pasaje_viaje.cod_lista = :old.cod_lista; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Lista because Pasaje_viaje exists.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Lista BEFORE INSERT ON Lista for each row -- ERwin Builtin Trigger -- INSERT trigger on Lista DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Viaje Lista on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00021f23", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_18", FK_COLUMNS="cod_viaje" */ UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_viaje = NULL WHERE NOT EXISTS ( SELECT * FROM Viaje WHERE /* %JoinFKPK(:%New,Viaje," = "," AND") */ :new.cod_viaje = Viaje.cod_viaje ) /* %JoinPKPK(Lista,:%New," = "," AND") */ and Lista.cod_lista = :new.cod_lista; /* ERwin Builtin Trigger */ /* Empleado_Sucursal Lista on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Emplea do_Sucursal"

CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_14", FK_COLUMNS="cod_empleado""cod_suc" */ UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_empleado = NULL, Lista.cod_suc = NULL WHERE NOT EXISTS ( SELECT * FROM Empleado_Sucursal WHERE /* %JoinFKPK(:%New,Empleado_Sucursal," = "," AND") */ :new.cod_empleado = Empleado_Sucursal.cod_empleado AND :new.cod_suc = Empleado_Sucursal.cod_suc ) /* %JoinPKPK(Lista,:%New," = "," AND") */ and Lista.cod_lista = :new.cod_lista; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Lista AFTER UPDATE ON Lista for each row -- ERwin Builtin Trigger -- UPDATE trigger on Lista DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Lista Pasaje_viaje on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="000372fe", PARENT_OWNER="", PARENT_TABLE="Lista" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_16", FK_COLUMNS="cod_lista" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_lista <> :new.cod_lista THEN SELECT count(*) INTO NUMROWS FROM Pasaje_viaje WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = "," AND") */ Pasaje_viaje.cod_lista = :old.cod_lista; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Lista because Pasaje_viaje exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Viaje Lista on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_18", FK_COLUMNS="cod_viaje" */ SELECT count(*) INTO NUMROWS

FROM Viaje WHERE /* %JoinFKPK(:%New,Viaje," = "," AND") */ :new.cod_viaje = Viaje.cod_viaje; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_viaje IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Lista because Viaje does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Empleado_Sucursal Lista on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Empleado _Sucursal" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_14", FK_COLUMNS="cod_empleado""cod_suc" */ SELECT count(*) INTO NUMROWS FROM Empleado_Sucursal WHERE /* %JoinFKPK(:%New,Empleado_Sucursal," = "," AND") */ :new.cod_empleado = Empleado_Sucursal.cod_empleado AND :new.cod_suc = Empleado_Sucursal.cod_suc; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_empleado IS NOT NULL AND :new.cod_suc IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Lista because Empleado_Sucursal does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Pasaje_viaje BEFORE INSERT ON Pasaje_viaje for each row -- ERwin Builtin Trigger -- INSERT trigger on Pasaje_viaje DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente_Servicio Pasaje_viaje on child insert set null */ /* ERWIN_RELATION:CHECKSUM="0003469a", PARENT_OWNER="", PARENT_TABLE="Client e_Servicio" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_30", FK_COLUMNS="cod_cli""cod_servicio" */

UPDATE Pasaje_viaje SET /* %SetFK(Pasaje_viaje,NULL) */ Pasaje_viaje.cod_cli = NULL, Pasaje_viaje.cod_servicio = NULL WHERE NOT EXISTS ( SELECT * FROM Cliente_Servicio WHERE /* %JoinFKPK(:%New,Cliente_Servicio," = "," AND") */ :new.cod_cli = Cliente_Servicio.cod_cli AND :new.cod_servicio = Cliente_Servicio.cod_servicio ) /* %JoinPKPK(Pasaje_viaje,:%New," = "," AND") */ and Pasaje_viaje.cod_lista = :new.cod_lista AND Pasaje_viaje.cod_viaje = :new.cod_viaje; /* ERwin Builtin Trigger */ /* Viaje Pasaje_viaje on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_17", FK_COLUMNS="cod_viaje" */ SELECT count(*) INTO NUMROWS FROM Viaje WHERE /* %JoinFKPK(:%New,Viaje," = "," AND") */ :new.cod_viaje = Viaje.cod_viaje; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Pasaje_viaje because Viaje does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Lista Pasaje_viaje on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Lista" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_16", FK_COLUMNS="cod_lista" */ SELECT count(*) INTO NUMROWS FROM Lista WHERE /* %JoinFKPK(:%New,Lista," = "," AND") */ :new.cod_lista = Lista.cod_lista; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Pasaje_viaje because Lista does not exist.'

); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Pasaje_viaje AFTER UPDATE ON Pasaje_viaje for each row -- ERwin Builtin Trigger -- UPDATE trigger on Pasaje_viaje DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Cliente_Servicio Pasaje_viaje on child update no action */ /* ERWIN_RELATION:CHECKSUM="00032ca1", PARENT_OWNER="", PARENT_TABLE="Cliente_ Servicio" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_30", FK_COLUMNS="cod_cli""cod_servicio" */ SELECT count(*) INTO NUMROWS FROM Cliente_Servicio WHERE /* %JoinFKPK(:%New,Cliente_Servicio," = "," AND") */ :new.cod_cli = Cliente_Servicio.cod_cli AND :new.cod_servicio = Cliente_Servicio.cod_servicio; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_cli IS NOT NULL AND :new.cod_servicio IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Pasaje_viaje because Cliente_Servicio does not exist.' ); END IF; /* ERwin Builtin Trigger */ /* Viaje Pasaje_viaje on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_17", FK_COLUMNS="cod_viaje" */ SELECT count(*) INTO NUMROWS FROM Viaje WHERE /* %JoinFKPK(:%New,Viaje," = "," AND") */ :new.cod_viaje = Viaje.cod_viaje; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Pasaje_viaje because Viaje does not exist.' );

END IF; /* ERwin Builtin Trigger */ /* Lista Pasaje_viaje on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Lista" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_16", FK_COLUMNS="cod_lista" */ SELECT count(*) INTO NUMROWS FROM Lista WHERE /* %JoinFKPK(:%New,Lista," = "," AND") */ :new.cod_lista = Lista.cod_lista; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Pasaje_viaje because Lista does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Regin AFTER DELETE ON Regin for each row -- ERwin Builtin Trigger -- DELETE trigger on Regin DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Regin Ciudad on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0000c53b", PARENT_OWNER="", PARENT_TABLE="Regin" CHILD_OWNER="", CHILD_TABLE="Ciudad" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_21", FK_COLUMNS="cod_reg" */ SELECT count(*) INTO NUMROWS FROM Ciudad WHERE /* %JoinFKPK(Ciudad,:%Old," = "," AND") */ Ciudad.cod_reg = :old.cod_reg; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Regin because Ciudad exists.' ); END IF; -- ERwin Builtin Trigger END; /

CREATE TRIGGER tU_Regin AFTER UPDATE ON Regin for each row -- ERwin Builtin Trigger -- UPDATE trigger on Regin DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Regin Ciudad on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="0000e829", PARENT_OWNER="", PARENT_TABLE="Regin" CHILD_OWNER="", CHILD_TABLE="Ciudad" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_21", FK_COLUMNS="cod_reg" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_reg <> :new.cod_reg THEN SELECT count(*) INTO NUMROWS FROM Ciudad WHERE /* %JoinFKPK(Ciudad,:%Old," = "," AND") */ Ciudad.cod_reg = :old.cod_reg; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Regin because Ciudad exists.' ); END IF; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Servicio AFTER DELETE ON Servicio for each row -- ERwin Builtin Trigger -- DELETE trigger on Servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Servicio Cliente_Servicio on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0000ed74", PARENT_OWNER="", PARENT_TABLE="Servic io" CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_28", FK_COLUMNS="cod_servicio" */ SELECT count(*) INTO NUMROWS FROM Cliente_Servicio WHERE /* %JoinFKPK(Cliente_Servicio,:%Old," = "," AND") */ Cliente_Servicio.cod_servicio = :old.cod_servicio; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Servicio because Cliente_Servicio exists.' ); END IF;

-- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Servicio BEFORE INSERT ON Servicio for each row -- ERwin Builtin Trigger -- INSERT trigger on Servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Tipo_servicio Servicio on child insert set null */ /* ERWIN_RELATION:CHECKSUM="0000f398", PARENT_OWNER="", PARENT_TABLE="Tipo_s ervicio" CHILD_OWNER="", CHILD_TABLE="Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_6", FK_COLUMNS="tipo_id" */ UPDATE Servicio SET /* %SetFK(Servicio,NULL) */ Servicio.tipo_id = NULL WHERE NOT EXISTS ( SELECT * FROM Tipo_servicio WHERE /* %JoinFKPK(:%New,Tipo_servicio," = "," AND") */ :new.tipo_id = Tipo_servicio.tipo_id ) /* %JoinPKPK(Servicio,:%New," = "," AND") */ and Servicio.cod_servicio = :new.cod_servicio; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Servicio AFTER UPDATE ON Servicio for each row -- ERwin Builtin Trigger -- UPDATE trigger on Servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Servicio Cliente_Servicio on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="0002460b", PARENT_OWNER="", PARENT_TABLE="Servicio " CHILD_OWNER="", CHILD_TABLE="Cliente_Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_28", FK_COLUMNS="cod_servicio" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_servicio <> :new.cod_servicio THEN SELECT count(*) INTO NUMROWS FROM Cliente_Servicio WHERE /* %JoinFKPK(Cliente_Servicio,:%Old," = "," AND") */ Cliente_Servicio.cod_servicio = :old.cod_servicio; IF (NUMROWS > 0) THEN raise_application_error(

-20005, 'Cannot update Servicio because Cliente_Servicio exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Tipo_servicio Servicio on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tipo_ser vicio" CHILD_OWNER="", CHILD_TABLE="Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_6", FK_COLUMNS="tipo_id" */ SELECT count(*) INTO NUMROWS FROM Tipo_servicio WHERE /* %JoinFKPK(:%New,Tipo_servicio," = "," AND") */ :new.tipo_id = Tipo_servicio.tipo_id; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.tipo_id IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Servicio because Tipo_servicio does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Sucursal AFTER DELETE ON Sucursal for each row -- ERwin Builtin Trigger -- DELETE trigger on Sucursal DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Sucursal Flota on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="0001cf98", PARENT_OWNER="", PARENT_TABLE="Sucurs al" CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_10", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Flota WHERE /* %JoinFKPK(Flota,:%Old," = "," AND") */ Flota.cod_suc = :old.cod_suc; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Sucursal because Flota exists.' ); END IF;

/* ERwin Builtin Trigger */ /* Sucursal Empleado_Sucursal on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Sucurs al" CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_8", FK_COLUMNS="cod_suc" */ SELECT count(*) INTO NUMROWS FROM Empleado_Sucursal WHERE /* %JoinFKPK(Empleado_Sucursal,:%Old," = "," AND") */ Empleado_Sucursal.cod_suc = :old.cod_suc; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Sucursal because Empleado_Sucursal exists.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Sucursal AFTER UPDATE ON Sucursal for each row -- ERwin Builtin Trigger -- UPDATE trigger on Sucursal DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Sucursal Flota on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="0002223b", PARENT_OWNER="", PARENT_TABLE="Sucursal " CHILD_OWNER="", CHILD_TABLE="Flota" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_10", FK_COLUMNS="cod_suc" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_suc <> :new.cod_suc THEN SELECT count(*) INTO NUMROWS FROM Flota WHERE /* %JoinFKPK(Flota,:%Old," = "," AND") */ Flota.cod_suc = :old.cod_suc; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Sucursal because Flota exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Sucursal Empleado_Sucursal on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Sucursal "

CHILD_OWNER="", CHILD_TABLE="Empleado_Sucursal" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_8", FK_COLUMNS="cod_suc" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_suc <> :new.cod_suc THEN SELECT count(*) INTO NUMROWS FROM Empleado_Sucursal WHERE /* %JoinFKPK(Empleado_Sucursal,:%Old," = "," AND") */ Empleado_Sucursal.cod_suc = :old.cod_suc; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Sucursal because Empleado_Sucursal exists.' ); END IF; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Tipo_empleado AFTER DELETE ON Tipo_empleado for each row -- ERwin Builtin Trigger -- DELETE trigger on Tipo_empleado DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Tipo_empleado Empleado on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000b40c", PARENT_OWNER="", PARENT_TABLE="Tipo_e mpleado" CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_1", FK_COLUMNS="tipo_id" */ UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.tipo_id = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = "," AND") */ Empleado.tipo_id = :old.tipo_id; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Tipo_empleado AFTER UPDATE ON Tipo_empleado for each row -- ERwin Builtin Trigger -- UPDATE trigger on Tipo_empleado DECLARE NUMROWS INTEGER; BEGIN /* Tipo_empleado Empleado on parent update set null */ /* ERWIN_RELATION:CHECKSUM="0000d692", PARENT_OWNER="", PARENT_TABLE="Tipo_emp leado"

CHILD_OWNER="", CHILD_TABLE="Empleado" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_1", FK_COLUMNS="tipo_id" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.tipo_id <> :new.tipo_id THEN UPDATE Empleado SET /* %SetFK(Empleado,NULL) */ Empleado.tipo_id = NULL WHERE /* %JoinFKPK(Empleado,:%Old," = ",",") */ Empleado.tipo_id = :old.tipo_id; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Tipo_servicio AFTER DELETE ON Tipo_servicio for each row -- ERwin Builtin Trigger -- DELETE trigger on Tipo_servicio DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Tipo_servicio Servicio on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0000b258", PARENT_OWNER="", PARENT_TABLE="Tipo_s ervicio" CHILD_OWNER="", CHILD_TABLE="Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_6", FK_COLUMNS="tipo_id" */ UPDATE Servicio SET /* %SetFK(Servicio,NULL) */ Servicio.tipo_id = NULL WHERE /* %JoinFKPK(Servicio,:%Old," = "," AND") */ Servicio.tipo_id = :old.tipo_id; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Tipo_servicio AFTER UPDATE ON Tipo_servicio for each row -- ERwin Builtin Trigger -- UPDATE trigger on Tipo_servicio DECLARE NUMROWS INTEGER; BEGIN /* Tipo_servicio Servicio on parent update set null */ /* ERWIN_RELATION:CHECKSUM="0000cf5b", PARENT_OWNER="", PARENT_TABLE="Tipo_ser vicio" CHILD_OWNER="", CHILD_TABLE="Servicio" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_6", FK_COLUMNS="tipo_id" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.tipo_id <> :new.tipo_id THEN UPDATE Servicio SET /* %SetFK(Servicio,NULL) */ Servicio.tipo_id = NULL WHERE /* %JoinFKPK(Servicio,:%Old," = ",",") */ Servicio.tipo_id = :old.tipo_id; END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Viaje AFTER DELETE ON Viaje for each row -- ERwin Builtin Trigger -- DELETE trigger on Viaje DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Viaje Lista on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="0001b488", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Lista" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_18", FK_COLUMNS="cod_viaje" */ UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_viaje = NULL WHERE /* %JoinFKPK(Lista,:%Old," = "," AND") */ Lista.cod_viaje = :old.cod_viaje; /* ERwin Builtin Trigger */ /* Viaje Pasaje_viaje on parent delete restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_17", FK_COLUMNS="cod_viaje" */ SELECT count(*) INTO NUMROWS FROM Pasaje_viaje WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = "," AND") */ Pasaje_viaje.cod_viaje = :old.cod_viaje; IF (NUMROWS > 0) THEN raise_application_error( -20001, 'Cannot delete Viaje because Pasaje_viaje exists.' ); END IF; -- ERwin Builtin Trigger END; /

CREATE TRIGGER tI_Viaje BEFORE INSERT ON Viaje for each row -- ERwin Builtin Trigger -- INSERT trigger on Viaje DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad_llegada Viaje on child insert set null */ /* ERWIN_RELATION:CHECKSUM="0001ebf2", PARENT_OWNER="", PARENT_TABLE="Ciudad _llegada" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_13", FK_COLUMNS="cod_cl" */ UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cl = NULL WHERE NOT EXISTS ( SELECT * FROM Ciudad_llegada WHERE /* %JoinFKPK(:%New,Ciudad_llegada," = "," AND") */ :new.cod_cl = Ciudad_llegada.cod_cl ) /* %JoinPKPK(Viaje,:%New," = "," AND") */ and Viaje.cod_viaje = :new.cod_viaje; /* ERwin Builtin Trigger */ /* Ciudad_partida Viaje on child insert set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Ciudad _partida" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_12", FK_COLUMNS="cod_cp" */ UPDATE Viaje SET /* %SetFK(Viaje,NULL) */ Viaje.cod_cp = NULL WHERE NOT EXISTS ( SELECT * FROM Ciudad_partida WHERE /* %JoinFKPK(:%New,Ciudad_partida," = "," AND") */ :new.cod_cp = Ciudad_partida.cod_cp ) /* %JoinPKPK(Viaje,:%New," = "," AND") */ and Viaje.cod_viaje = :new.cod_viaje; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Viaje AFTER UPDATE ON Viaje for each row -- ERwin Builtin Trigger -- UPDATE trigger on Viaje DECLARE NUMROWS INTEGER; BEGIN /* Viaje Lista on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00041024", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Lista"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_18", FK_COLUMNS="cod_viaje" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_viaje <> :new.cod_viaje THEN UPDATE Lista SET /* %SetFK(Lista,NULL) */ Lista.cod_viaje = NULL WHERE /* %JoinFKPK(Lista,:%Old," = ",",") */ Lista.cod_viaje = :old.cod_viaje; END IF; /* ERwin Builtin Trigger */ /* Viaje Pasaje_viaje on parent update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Viaje" CHILD_OWNER="", CHILD_TABLE="Pasaje_viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_17", FK_COLUMNS="cod_viaje" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_viaje <> :new.cod_viaje THEN SELECT count(*) INTO NUMROWS FROM Pasaje_viaje WHERE /* %JoinFKPK(Pasaje_viaje,:%Old," = "," AND") */ Pasaje_viaje.cod_viaje = :old.cod_viaje; IF (NUMROWS > 0) THEN raise_application_error( -20005, 'Cannot update Viaje because Pasaje_viaje exists.' ); END IF; END IF; /* ERwin Builtin Trigger */ /* Ciudad_llegada Viaje on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Ciudad_l legada" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_13", FK_COLUMNS="cod_cl" */ SELECT count(*) INTO NUMROWS FROM Ciudad_llegada WHERE /* %JoinFKPK(:%New,Ciudad_llegada," = "," AND") */ :new.cod_cl = Ciudad_llegada.cod_cl; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_cl IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Viaje because Ciudad_llegada does not exist.'

); END IF; /* ERwin Builtin Trigger */ /* Ciudad_partida Viaje on child update no action */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Ciudad_p artida" CHILD_OWNER="", CHILD_TABLE="Viaje" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_12", FK_COLUMNS="cod_cp" */ SELECT count(*) INTO NUMROWS FROM Ciudad_partida WHERE /* %JoinFKPK(:%New,Ciudad_partida," = "," AND") */ :new.cod_cp = Ciudad_partida.cod_cp; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ :new.cod_cp IS NOT NULL AND NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Viaje because Ciudad_partida does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tD_Zona AFTER DELETE ON Zona for each row -- ERwin Builtin Trigger -- DELETE trigger on Zona DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Zona Ciudad_llegada on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="00022f10", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_llegada" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_24", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ UPDATE Ciudad_llegada SET /* %SetFK(Ciudad_llegada,NULL) */ Ciudad_llegada.cod_zon = NULL, Ciudad_llegada.cod_ciu = NULL, Ciudad_llegada.cod_reg = NULL WHERE /* %JoinFKPK(Ciudad_llegada,:%Old," = "," AND") */ Ciudad_llegada.cod_zon = :old.cod_zon AND Ciudad_llegada.cod_ciu = :old.cod_ciu AND Ciudad_llegada.cod_reg = :old.cod_reg; /* ERwin Builtin Trigger */ /* Zona Ciudad_partida on parent delete set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_partida"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_23", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ UPDATE Ciudad_partida SET /* %SetFK(Ciudad_partida,NULL) */ Ciudad_partida.cod_zon = NULL, Ciudad_partida.cod_ciu = NULL, Ciudad_partida.cod_reg = NULL WHERE /* %JoinFKPK(Ciudad_partida,:%Old," = "," AND") */ Ciudad_partida.cod_zon = :old.cod_zon AND Ciudad_partida.cod_ciu = :old.cod_ciu AND Ciudad_partida.cod_reg = :old.cod_reg; -- ERwin Builtin Trigger END; / CREATE TRIGGER tI_Zona BEFORE INSERT ON Zona for each row -- ERwin Builtin Trigger -- INSERT trigger on Zona DECLARE NUMROWS INTEGER; BEGIN /* ERwin Builtin Trigger */ /* Ciudad Zona on child insert restrict */ /* ERWIN_RELATION:CHECKSUM="0000fcc9", PARENT_OWNER="", PARENT_TABLE="Ciudad " CHILD_OWNER="", CHILD_TABLE="Zona" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_22", FK_COLUMNS="cod_ciu""cod_reg" */ SELECT count(*) INTO NUMROWS FROM Ciudad WHERE /* %JoinFKPK(:%New,Ciudad," = "," AND") */ :new.cod_ciu = Ciudad.cod_ciu AND :new.cod_reg = Ciudad.cod_reg; IF ( /* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20002, 'Cannot insert Zona because Ciudad does not exist.' ); END IF; -- ERwin Builtin Trigger END; / CREATE TRIGGER tU_Zona AFTER UPDATE ON Zona for each row -- ERwin Builtin Trigger -- UPDATE trigger on Zona DECLARE NUMROWS INTEGER; BEGIN /* Zona Ciudad_llegada on parent update set null */

/* ERWIN_RELATION:CHECKSUM="00039ed7", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_llegada" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_24", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_zon <> :new.cod_zon OR :old.cod_ciu <> :new.cod_ciu OR :old.cod_reg <> :new.cod_reg THEN UPDATE Ciudad_llegada SET /* %SetFK(Ciudad_llegada,NULL) */ Ciudad_llegada.cod_zon = NULL, Ciudad_llegada.cod_ciu = NULL, Ciudad_llegada.cod_reg = NULL WHERE /* %JoinFKPK(Ciudad_llegada,:%Old," = ",",") */ Ciudad_llegada.cod_zon = :old.cod_zon AND Ciudad_llegada.cod_ciu = :old.cod_ciu AND Ciudad_llegada.cod_reg = :old.cod_reg; END IF; /* Zona Ciudad_partida on parent update set null */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Zona" CHILD_OWNER="", CHILD_TABLE="Ciudad_partida" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_23", FK_COLUMNS="cod_zon""cod_ciu""cod_reg" */ IF /* %JoinPKPK(:%Old,:%New," <> "," OR ") */ :old.cod_zon <> :new.cod_zon OR :old.cod_ciu <> :new.cod_ciu OR :old.cod_reg <> :new.cod_reg THEN UPDATE Ciudad_partida SET /* %SetFK(Ciudad_partida,NULL) */ Ciudad_partida.cod_zon = NULL, Ciudad_partida.cod_ciu = NULL, Ciudad_partida.cod_reg = NULL WHERE /* %JoinFKPK(Ciudad_partida,:%Old," = ",",") */ Ciudad_partida.cod_zon = :old.cod_zon AND Ciudad_partida.cod_ciu = :old.cod_ciu AND Ciudad_partida.cod_reg = :old.cod_reg; END IF; /* ERwin Builtin Trigger */ /* Ciudad Zona on child update restrict */ /* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Ciudad" CHILD_OWNER="", CHILD_TABLE="Zona" P2C_VERB_PHRASE="", C2P_VERB_PHRASE="", FK_CONSTRAINT="R_22", FK_COLUMNS="cod_ciu""cod_reg" */ SELECT count(*) INTO NUMROWS FROM Ciudad WHERE /* %JoinFKPK(:%New,Ciudad," = "," AND") */ :new.cod_ciu = Ciudad.cod_ciu AND :new.cod_reg = Ciudad.cod_reg; IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */ NUMROWS = 0 ) THEN raise_application_error( -20007, 'Cannot update Zona because Ciudad does not exist.' ); END IF; -- ERwin Builtin Trigger END; /

También podría gustarte