- •6.050101 – “Комп’ютерні науки”
- •1 Мета і призначення розробки
- •1.1 Характеристика об'єкту автоматизації
- •1.2 Перелік функцій системи, що забезпечують досягнення цілей
- •1.3 Форми, які необхідно створити в системі
- •2.3 Моделі «сутність-зв'язок»
- •2.4 Ієрархічна, мережева та реляційна моделі представлення даних.
- •2.5 Реляційна модель бази даних
- •2.6 Організація обмежень посилальної цілісності
- •3 Аналіз предметної області
- •4 Проектування концептуальної моделі
- •4.1 Визначення даних, якими повинні оперувати автоматизовані функції
- •4.2Er-діаграми
- •5 Проектування логічної моделі
- •6 Проектування фізичної моделі
- •7 Сворення застосування для роботи
- •Висновки
- •Список використаної літератури
- •Додаток а
Додаток а
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;
/