@errmsg = 'Cannot delete Должность because Послужной_список exists.'
GOTO ERROR
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
RETURN
ERROR:
raiserror @errno @errmsg
rollback transaction
END
go
CREATE TRIGGER tU_Должность ON Должность FOR UPDATE AS
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* UPDATE trigger on Должность */
BEGIN
DECLARE @NUMROWS int,
@nullcnt int,
@validcnt int,
@insКод_должности integer,
@errno int,
@errmsg varchar(255)
SELECT @NUMROWS = @@rowcount
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* Должность R/5 Сотрудники on parent update no action */
/* ERWIN_RELATION:CHECKSUM="0002538f", PARENT_OWNER="", PARENT_TABLE="Должность"
CHILD_OWNER="", CHILD_TABLE="Сотрудники"
P2C_VERB_PHRASE="R/5", C2P_VERB_PHRASE="R/5",
FK_CONSTRAINT="R_5", FK_COLUMNS="Код_должности" */
IF
/* %ParentPK(" OR",UPDATE) */
UPDATE(Код_должности)
BEGIN
IF EXISTS (
SELECT * FROM deleted,Сотрудники
WHERE
/* %JoinFKPK(Сотрудники,deleted," = "," AND") */
Сотрудники.Код_должности = deleted.Код_должности
)
BEGIN
SELECT @errno = 30005,
@errmsg = 'Cannot update Должность because Сотрудники exists.'
GOTO ERROR
END
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* Должность R/7 Послужной_список on parent update no action */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Должность"
CHILD_OWNER="", CHILD_TABLE="Послужной_список"
P2C_VERB_PHRASE="R/7", C2P_VERB_PHRASE="R/7",
FK_CONSTRAINT="R_7", FK_COLUMNS="Код_должности" */
IF
/* %ParentPK(" OR",UPDATE) */
UPDATE(Код_должности)
BEGIN
IF EXISTS (
SELECT * FROM deleted,Послужной_список
WHERE
/* %JoinFKPK(Послужной_список,deleted," = "," AND") */
Послужной_список.Код_должности = deleted.Код_должности
)
BEGIN
SELECT @errno = 30005,
@errmsg = 'Cannot update Должность because Послужной_список exists.'
GOTO ERROR
END
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
RETURN
ERROR:
raiserror @errno @errmsg
rollback transaction
END
go
CREATE TRIGGER tD_Заказы ON Заказы FOR DELETE AS
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* DELETE trigger on Заказы */
BEGIN
DECLARE @errno int,
@errmsg varchar(255)
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* Заказы R/9 Клиенты on parent delete no action */
/* ERWIN_RELATION:CHECKSUM="000233da", PARENT_OWNER="", PARENT_TABLE="Заказы"
CHILD_OWNER="", CHILD_TABLE="Клиенты"
P2C_VERB_PHRASE="R/9", C2P_VERB_PHRASE="R/9",
FK_CONSTRAINT="R_9", FK_COLUMNS="Код_заказа" */
IF EXISTS (
SELECT * FROM deleted,Клиенты
WHERE
/* %JoinFKPK(Клиенты,deleted," = "," AND") */
Клиенты.Код_заказа = deleted.Код_заказа
)
BEGIN
SELECT @errno = 30001,
@errmsg = 'Cannot delete Заказы because Клиенты exists.'
GOTO ERROR
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* Сотрудники R/8 Заказы on child delete no action */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Сотрудники"
CHILD_OWNER="", CHILD_TABLE="Заказы"
P2C_VERB_PHRASE="R/8", C2P_VERB_PHRASE="R/8",
FK_CONSTRAINT="R_8", FK_COLUMNS="Код_сотрудника" */
IF EXISTS (SELECT * FROM deleted,Сотрудники
WHERE
/* %JoinFKPK(deleted,Сотрудники," = "," AND") */
deleted.Код_сотрудника = Сотрудники.Код_сотрудника AND
NOT EXISTS (
SELECT * FROM Заказы
WHERE
/* %JoinFKPK(Заказы,Сотрудники," = "," AND") */
Заказы.Код_сотрудника = Сотрудники.Код_сотрудника
)
)
BEGIN
SELECT @errno = 30010,
@errmsg = 'Cannot delete last Заказы because Сотрудники exists.'
GOTO ERROR
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
RETURN
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.