select @nullcnt = count(*) from inserted where
inserted.Код_должности IS NULL
IF @validcnt + @nullcnt != @NUMROWS
BEGIN
SELECT @errno = 30007,
@errmsg = 'Cannot update Сотрудники because Должность does not exist.'
GOTO ERROR
END
END
/* ERwin Builtin 18 марта 2014 г. 8:14:00 */
/* Послужной_список R/6 Сотрудники on child update no action */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Послужной_список"
CHILD_OWNER="", CHILD_TABLE="Сотрудники"
P2C_VERB_PHRASE="R/6", C2P_VERB_PHRASE="R/6",
FK_CONSTRAINT="R_6", FK_COLUMNS="Код_списка" */
IF
/* %ChildFK(" OR",UPDATE) */
UPDATE(Код_списка)
BEGIN
SELECT @nullcnt = 0
SELECT @validcnt = count(*)
FROM inserted,Послужной_список
WHERE
/* %JoinFKPK(inserted,Послужной_список) */
inserted.Код_списка = Послужной_список.Код_списка
/* %NotnullFK(inserted," IS NULL","select @nullcnt = count(*) from inserted where"," AND") */
select @nullcnt = count(*) from inserted where
inserted.Код_списка IS NULL
IF @validcnt + @nullcnt != @NUMROWS
BEGIN
SELECT @errno = 30007,
@errmsg = 'Cannot update Сотрудники because Послужной_список does not exist.'
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/19 Клиенты on parent delete no action */
/* ERWIN_RELATION:CHECKSUM="0000f5da", PARENT_OWNER="", PARENT_TABLE="Хобби"
CHILD_OWNER="", CHILD_TABLE="Клиенты"
P2C_VERB_PHRASE="R/19", C2P_VERB_PHRASE="R/19",
FK_CONSTRAINT="R_19", 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 */
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/19 Клиенты on parent update no action */
/* ERWIN_RELATION:CHECKSUM="00011070", PARENT_OWNER="", PARENT_TABLE="Хобби"
CHILD_OWNER="", CHILD_TABLE="Клиенты"
P2C_VERB_PHRASE="R/19", C2P_VERB_PHRASE="R/19",
FK_CONSTRAINT="R_19", 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
Вывод: AllFusion ERwin Data Modeler - CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Erwin позволяет экспортировать и импортировать структуру баз данных в (из) различные(-ых) СУБД (Access,SQL-Server и др.). Модели, созданные при проектировании в СУБД Access и SQL Server практически одинаковы за исключением некоторых различий (например различное отображение типов связей)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.