Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurchas_po_BD2.docx
Скачиваний:
26
Добавлен:
17.03.2016
Размер:
2.2 Mб
Скачать

Додаток а

Sql код Бази даних електроного журналу атестацій

CREATE TABLE Kraina_virobnik

(

ID_krainu INTEGER NOT NULL ,

Korotka_nazva VARCHAR2(20) NULL ,

Nazva VARCHAR2(20) NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPK¿на_виробник ON Kraina_virobnik

(ID_krainu ASC,ID_tovaru ASC);

ALTER TABLE Kraina_virobnik

ADD CONSTRAINT XPK¿на_виробник PRIMARY KEY (ID_krainu,ID_tovaru);

CREATE TABLE Pokypatel

(

ID_pokypcja INTEGER NOT NULL ,

Nazva VARCHAR2(20) NULL ,

ID_zamovlenja INTEGER NOT NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKПокупець ON Pokypatel

(ID_pokypcja ASC,ID_zamovlenja ASC,ID_tovaru ASC);

ALTER TABLE Pokypatel

ADD CONSTRAINT XPKПокупець PRIMARY KEY (ID_pokypcja,ID_zamovlenja,ID_tovaru);

CREATE TABLE Postachalnik

(

ID_postachalnuka INTEGER NOT NULL ,

Nazva VARCHAR2(20) NULL ,

Adress VARCHAR2(20) NULL ,

Telefon VARCHAR2(20) NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKПостачальник ON Postachalnik

(ID_postachalnuka ASC,ID_tovaru ASC);

ALTER TABLE Postachalnik

ADD CONSTRAINT XPKПостачальник PRIMARY KEY (ID_postachalnuka,ID_tovaru);

CREATE TABLE Sklad

(

ID_sklady INTEGER NOT NULL ,

Adress VARCHAR2(20) NULL ,

Telefon VARCHAR2(20) NULL ,

Nazva VARCHAR2(20) NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKСклад ON Sklad

(ID_sklady ASC,ID_tovaru ASC);

ALTER TABLE Sklad

ADD CONSTRAINT XPKСклад PRIMARY KEY (ID_sklady,ID_tovaru);

CREATE TABLE Tip_pokypatela

(

ID_tipa INTEGER NOT NULL ,

Tip CHAR(18) NULL ,

ID_pokypcja INTEGER NOT NULL ,

ID_zamovlenja INTEGER NOT NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKТип_покупця ON Tip_pokypatela

(ID_tipa ASC,ID_pokypcja ASC,ID_zamovlenja ASC,ID_tovaru ASC);

ALTER TABLE Tip_pokypatela

ADD CONSTRAINT XPKТип_покупця PRIMARY KEY (ID_tipa,ID_pokypcja,ID_zamovlenja,ID_tovaru);

CREATE TABLE Tip_tovara

(

ID_tipy_tovary INTEGER NOT NULL ,

Nazva VARCHAR2(20) NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKТип_товару ON Tip_tovara

(ID_tipy_tovary ASC,ID_tovaru ASC);

ALTER TABLE Tip_tovara

ADD CONSTRAINT XPKТип_товару PRIMARY KEY (ID_tipy_tovary,ID_tovaru);

CREATE TABLE Torgova_Operacia

(

ID_operacii INTEGER NOT NULL ,

Data DATE NULL ,

Kod_operacii INTEGER NOT NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKТоргова_операц³я ON Torgova_Operacia

(ID_operacii ASC,Kod_operacii ASC,ID_tovaru ASC);

ALTER TABLE Torgova_Operacia

ADD CONSTRAINT XPKТоргова_операц³я PRIMARY KEY (ID_operacii,Kod_operacii,ID_tovaru);

CREATE TABLE Tovar

(

ID_tovaru INTEGER NOT NULL ,

Cina INTEGER NULL ,

Objem INTEGER NULL ,

Sklad VARCHAR2(20) NULL ,

Nazva VARCHAR2(20) NULL

);

CREATE UNIQUE INDEX XPKТовар ON Tovar

(ID_tovaru ASC);

ALTER TABLE Tovar

ADD CONSTRAINT XPKТовар PRIMARY KEY (ID_tovaru);

CREATE TABLE Zamovlennia

(

ID_zamovlenja INTEGER NOT NULL ,

Kilkistj INTEGER NULL ,

Data DATE NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKЗамовлення ON Zamovlennia

(ID_zamovlenja ASC,ID_tovaru ASC);

ALTER TABLE Zamovlennia

ADD CONSTRAINT XPKЗамовлення PRIMARY KEY (ID_zamovlenja,ID_tovaru);

CREATE TABLE Тип_торговой_операции

(

Kod_operacii INTEGER NOT NULL ,

Nazva VARCHAR2(20) NULL ,

ID_tovaru INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKТип_торговой_операции ON Тип_торговой_операции

(Kod_operacii ASC,ID_tovaru ASC);

ALTER TABLE Тип_торговой_операции

ADD CONSTRAINT XPKТип_торговой_операции PRIMARY KEY (Kod_operacii,ID_tovaru);

ALTER TABLE Kraina_virobnik

ADD (CONSTRAINT R_2 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

ALTER TABLE Pokypatel

ADD (CONSTRAINT R_6 FOREIGN KEY (ID_zamovlenja, ID_tovaru) REFERENCES Zamovlennia (ID_zamovlenja, ID_tovaru));

ALTER TABLE Postachalnik

ADD (CONSTRAINT R_7 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

ALTER TABLE Sklad

ADD (CONSTRAINT R_3 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

ALTER TABLE Tip_pokypatela

ADD (CONSTRAINT R_5 FOREIGN KEY (ID_pokypcja, ID_zamovlenja, ID_tovaru) REFERENCES Pokypatel (ID_pokypcja, ID_zamovlenja, ID_tovaru));

ALTER TABLE Tip_tovara

ADD (CONSTRAINT R_9 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

ALTER TABLE Torgova_Operacia

ADD (CONSTRAINT R_8 FOREIGN KEY (Kod_operacii, ID_tovaru) REFERENCES Тип_торговой_операции (Kod_operacii, ID_tovaru));

ALTER TABLE Zamovlennia

ADD (CONSTRAINT R_4 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

ALTER TABLE Тип_торговой_операции

ADD (CONSTRAINT R_1 FOREIGN KEY (ID_tovaru) REFERENCES Tovar (ID_tovaru));

CREATE TRIGGER tI_Kraina_virobnik BEFORE INSERT ON Kraina_virobnik for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Kraina_virobnik

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Kraina_virobnik on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000ec3d", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Kraina_virobnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Kraina_virobnik because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Kraina_virobnik AFTER UPDATE ON Kraina_virobnik for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Kraina_virobnik

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Kraina_virobnik on child update restrict */

/* ERWIN_RELATION:CHECKSUM="0000f11f", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Kraina_virobnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Kraina_virobnik because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Pokypatel BEFORE INSERT ON Pokypatel for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Pokypatel

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Zamovlennia Pokypatel on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="00011bc9", PARENT_OWNER="", PARENT_TABLE="Zamovlennia"

CHILD_OWNER="", CHILD_TABLE="Pokypatel"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Zamovlennia

WHERE

/* %JoinFKPK(:%New,Zamovlennia," = "," AND") */

:new.ID_zamovlenja = Zamovlennia.ID_zamovlenja AND

:new.ID_tovaru = Zamovlennia.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Pokypatel because Zamovlennia does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Pokypatel AFTER DELETE ON Pokypatel for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Pokypatel

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Pokypatel Tip_pokypatela on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00012d68", PARENT_OWNER="", PARENT_TABLE="Pokypatel"

CHILD_OWNER="", CHILD_TABLE="Tip_pokypatela"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_5", FK_COLUMNS="ID_pokypcja""ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tip_pokypatela

WHERE

/* %JoinFKPK(Tip_pokypatela,:%Old," = "," AND") */

Tip_pokypatela.ID_pokypcja = :old.ID_pokypcja AND

Tip_pokypatela.ID_zamovlenja = :old.ID_zamovlenja AND

Tip_pokypatela.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Pokypatel because Tip_pokypatela exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Pokypatel AFTER UPDATE ON Pokypatel for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Pokypatel

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Pokypatel Tip_pokypatela on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="0002889e", PARENT_OWNER="", PARENT_TABLE="Pokypatel"

CHILD_OWNER="", CHILD_TABLE="Tip_pokypatela"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_5", FK_COLUMNS="ID_pokypcja""ID_zamovlenja""ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_pokypcja <> :new.ID_pokypcja OR

:old.ID_zamovlenja <> :new.ID_zamovlenja OR

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Tip_pokypatela

WHERE

/* %JoinFKPK(Tip_pokypatela,:%Old," = "," AND") */

Tip_pokypatela.ID_pokypcja = :old.ID_pokypcja AND

Tip_pokypatela.ID_zamovlenja = :old.ID_zamovlenja AND

Tip_pokypatela.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Pokypatel because Tip_pokypatela exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Zamovlennia Pokypatel on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Zamovlennia"

CHILD_OWNER="", CHILD_TABLE="Pokypatel"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Zamovlennia

WHERE

/* %JoinFKPK(:%New,Zamovlennia," = "," AND") */

:new.ID_zamovlenja = Zamovlennia.ID_zamovlenja AND

:new.ID_tovaru = Zamovlennia.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Pokypatel because Zamovlennia does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Postachalnik BEFORE INSERT ON Postachalnik for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Postachalnik

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Postachalnik on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000eac4", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Postachalnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Postachalnik because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Postachalnik AFTER UPDATE ON Postachalnik for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Postachalnik

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Postachalnik on child update restrict */

/* ERWIN_RELATION:CHECKSUM="0000e98d", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Postachalnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Postachalnik because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Sklad BEFORE INSERT ON Sklad for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Sklad

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Sklad on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000e5b7", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Sklad"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Sklad because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Sklad AFTER UPDATE ON Sklad for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Sklad

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Sklad on child update restrict */

/* ERWIN_RELATION:CHECKSUM="0000e36d", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Sklad"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Sklad because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Tip_pokypatela BEFORE INSERT ON Tip_pokypatela for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Tip_pokypatela

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Pokypatel Tip_pokypatela on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="000133e6", PARENT_OWNER="", PARENT_TABLE="Pokypatel"

CHILD_OWNER="", CHILD_TABLE="Tip_pokypatela"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_5", FK_COLUMNS="ID_pokypcja""ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Pokypatel

WHERE

/* %JoinFKPK(:%New,Pokypatel," = "," AND") */

:new.ID_pokypcja = Pokypatel.ID_pokypcja AND

:new.ID_zamovlenja = Pokypatel.ID_zamovlenja AND

:new.ID_tovaru = Pokypatel.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Tip_pokypatela because Pokypatel does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Tip_pokypatela AFTER UPDATE ON Tip_pokypatela for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Tip_pokypatela

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Pokypatel Tip_pokypatela on child update restrict */

/* ERWIN_RELATION:CHECKSUM="0001371f", PARENT_OWNER="", PARENT_TABLE="Pokypatel"

CHILD_OWNER="", CHILD_TABLE="Tip_pokypatela"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_5", FK_COLUMNS="ID_pokypcja""ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Pokypatel

WHERE

/* %JoinFKPK(:%New,Pokypatel," = "," AND") */

:new.ID_pokypcja = Pokypatel.ID_pokypcja AND

:new.ID_zamovlenja = Pokypatel.ID_zamovlenja AND

:new.ID_tovaru = Pokypatel.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Tip_pokypatela because Pokypatel does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Tip_tovara BEFORE INSERT ON Tip_tovara for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Tip_tovara

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Tip_tovara on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000e69a", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Tip_tovara"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_9", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Tip_tovara because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Tip_tovara AFTER UPDATE ON Tip_tovara for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Tip_tovara

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Tip_tovara on child update restrict */

/* ERWIN_RELATION:CHECKSUM="0000e7a3", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Tip_tovara"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_9", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Tip_tovara because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Torgova_Operacia BEFORE INSERT ON Torgova_Operacia for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Torgova_Operacia

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Тип_торговой_операции Torgova_Operacia on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0001380c", PARENT_OWNER="", PARENT_TABLE="Тип_торговой_операции"

CHILD_OWNER="", CHILD_TABLE="Torgova_Operacia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_8", FK_COLUMNS="Kod_operacii""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Тип_торговой_операции

WHERE

/* %JoinFKPK(:%New,Тип_торговой_операции," = "," AND") */

:new.Kod_operacii = Тип_торговой_операции.Kod_operacii AND

:new.ID_tovaru = Тип_торговой_операции.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Torgova_Operacia because Тип_торговой_операции does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Torgova_Operacia AFTER UPDATE ON Torgova_Operacia for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Torgova_Operacia

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Тип_торговой_операции Torgova_Operacia on child update restrict */

/* ERWIN_RELATION:CHECKSUM="000137d7", PARENT_OWNER="", PARENT_TABLE="Тип_торговой_операции"

CHILD_OWNER="", CHILD_TABLE="Torgova_Operacia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_8", FK_COLUMNS="Kod_operacii""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Тип_торговой_операции

WHERE

/* %JoinFKPK(:%New,Тип_торговой_операции," = "," AND") */

:new.Kod_operacii = Тип_торговой_операции.Kod_operacii AND

:new.ID_tovaru = Тип_торговой_операции.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Torgova_Operacia because Тип_торговой_операции does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Tovar AFTER DELETE ON Tovar for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Tovar

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Тип_торговой_операции on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="0005a7ce", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Тип_торговой_операции"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Тип_торговой_операции

WHERE

/* %JoinFKPK(Тип_торговой_операции,:%Old," = "," AND") */

Тип_торговой_операции.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Тип_торговой_операции exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Tovar Kraina_virobnik on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Kraina_virobnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Kraina_virobnik

WHERE

/* %JoinFKPK(Kraina_virobnik,:%Old," = "," AND") */

Kraina_virobnik.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Kraina_virobnik exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Tovar Sklad on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Sklad"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/* %JoinFKPK(Sklad,:%Old," = "," AND") */

Sklad.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Sklad exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Tovar Zamovlennia on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Zamovlennia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Zamovlennia

WHERE

/* %JoinFKPK(Zamovlennia,:%Old," = "," AND") */

Zamovlennia.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Zamovlennia exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Tovar Postachalnik on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Postachalnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Postachalnik

WHERE

/* %JoinFKPK(Postachalnik,:%Old," = "," AND") */

Postachalnik.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Postachalnik exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Tovar Tip_tovara on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Tip_tovara"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_9", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tip_tovara

WHERE

/* %JoinFKPK(Tip_tovara,:%Old," = "," AND") */

Tip_tovara.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Tovar because Tip_tovara exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Tovar AFTER UPDATE ON Tovar for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Tovar

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Тип_торговой_операции on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00069e2b", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Тип_торговой_операции"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Тип_торговой_операции

WHERE

/* %JoinFKPK(Тип_торговой_операции,:%Old," = "," AND") */

Тип_торговой_операции.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Тип_торговой_операции exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Kraina_virobnik on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Kraina_virobnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Kraina_virobnik

WHERE

/* %JoinFKPK(Kraina_virobnik,:%Old," = "," AND") */

Kraina_virobnik.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Kraina_virobnik exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Sklad on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Sklad"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/* %JoinFKPK(Sklad,:%Old," = "," AND") */

Sklad.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Sklad exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Zamovlennia on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Zamovlennia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Zamovlennia

WHERE

/* %JoinFKPK(Zamovlennia,:%Old," = "," AND") */

Zamovlennia.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Zamovlennia exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Postachalnik on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Postachalnik"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Postachalnik

WHERE

/* %JoinFKPK(Postachalnik,:%Old," = "," AND") */

Postachalnik.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Postachalnik exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Tip_tovara on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Tip_tovara"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_9", FK_COLUMNS="ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Tip_tovara

WHERE

/* %JoinFKPK(Tip_tovara,:%Old," = "," AND") */

Tip_tovara.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Tovar because Tip_tovara exists.'

);

END IF;

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Zamovlennia BEFORE INSERT ON Zamovlennia for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Zamovlennia

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Zamovlennia on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000e34d", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Zamovlennia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Zamovlennia because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Zamovlennia AFTER DELETE ON Zamovlennia for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Zamovlennia

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Zamovlennia Pokypatel on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00010084", PARENT_OWNER="", PARENT_TABLE="Zamovlennia"

CHILD_OWNER="", CHILD_TABLE="Pokypatel"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="ID_zamovlenja""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Pokypatel

WHERE

/* %JoinFKPK(Pokypatel,:%Old," = "," AND") */

Pokypatel.ID_zamovlenja = :old.ID_zamovlenja AND

Pokypatel.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Zamovlennia because Pokypatel exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Zamovlennia AFTER UPDATE ON Zamovlennia for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Zamovlennia

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Zamovlennia Pokypatel on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00022d40", PARENT_OWNER="", PARENT_TABLE="Zamovlennia"

CHILD_OWNER="", CHILD_TABLE="Pokypatel"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="ID_zamovlenja""ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.ID_zamovlenja <> :new.ID_zamovlenja OR

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Pokypatel

WHERE

/* %JoinFKPK(Pokypatel,:%Old," = "," AND") */

Pokypatel.ID_zamovlenja = :old.ID_zamovlenja AND

Pokypatel.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Zamovlennia because Pokypatel exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Zamovlennia on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Zamovlennia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Zamovlennia because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Тип_торговой_операции BEFORE INSERT ON Тип_торговой_операции for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Тип_торговой_операции

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Tovar Тип_торговой_операции on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000f16a", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Тип_торговой_операции"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Тип_торговой_операции because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Тип_торговой_операции AFTER DELETE ON Тип_торговой_операции for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Тип_торговой_операции

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Тип_торговой_операции Torgova_Operacia on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00011695", PARENT_OWNER="", PARENT_TABLE="Тип_торговой_операции"

CHILD_OWNER="", CHILD_TABLE="Torgova_Operacia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_8", FK_COLUMNS="Kod_operacii""ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Torgova_Operacia

WHERE

/* %JoinFKPK(Torgova_Operacia,:%Old," = "," AND") */

Torgova_Operacia.Kod_operacii = :old.Kod_operacii AND

Torgova_Operacia.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Тип_торговой_операции because Torgova_Operacia exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Тип_торговой_операции AFTER UPDATE ON Тип_торговой_операции for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Тип_торговой_операции

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Тип_торговой_операции Torgova_Operacia on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00025fe3", PARENT_OWNER="", PARENT_TABLE="Тип_торговой_операции"

CHILD_OWNER="", CHILD_TABLE="Torgova_Operacia"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_8", FK_COLUMNS="Kod_operacii""ID_tovaru" */

IF

/* %JoinPKPK(:%Old,:%New," <> "," OR ") */

:old.Kod_operacii <> :new.Kod_operacii OR

:old.ID_tovaru <> :new.ID_tovaru

THEN

SELECT count(*) INTO NUMROWS

FROM Torgova_Operacia

WHERE

/* %JoinFKPK(Torgova_Operacia,:%Old," = "," AND") */

Torgova_Operacia.Kod_operacii = :old.Kod_operacii AND

Torgova_Operacia.ID_tovaru = :old.ID_tovaru;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Тип_торговой_операции because Torgova_Operacia exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Tovar Тип_торговой_операции on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Tovar"

CHILD_OWNER="", CHILD_TABLE="Тип_торговой_операции"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="ID_tovaru" */

SELECT count(*) INTO NUMROWS

FROM Tovar

WHERE

/* %JoinFKPK(:%New,Tovar," = "," AND") */

:new.ID_tovaru = Tovar.ID_tovaru;

IF (

/* %NotnullFK(:%New," IS NOT NULL AND") */

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Тип_торговой_операции because Tovar does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]