Разработка логического и физического уровней модели данных с помощью CASE-средства. Практические навыки логического и физического проектирования реляционных данных с использованием средств программного пакета AllFusion ERwin Data Modeler, страница 11

FK_CONSTRAINT="R_13", 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/17 Клиенты on parent delete no action */

/* ERWIN_RELATION:CHECKSUM="000106b5", PARENT_OWNER="Возраст", PARENT_TABLE="Параметры"

CHILD_OWNER="", CHILD_TABLE="Клиенты"

P2C_VERB_PHRASE="R/17", C2P_VERB_PHRASE="R/17",

FK_CONSTRAINT="R_17", 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/17 Клиенты on parent update no action */

/* ERWIN_RELATION:CHECKSUM="00011b86", PARENT_OWNER="Возраст", PARENT_TABLE="Параметры"

CHILD_OWNER="", CHILD_TABLE="Клиенты"

P2C_VERB_PHRASE="R/17", C2P_VERB_PHRASE="R/17",

FK_CONSTRAINT="R_17", 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/12 Клиенты on parent delete no action */

/* ERWIN_RELATION:CHECKSUM="0000feab", PARENT_OWNER="", PARENT_TABLE="Партнер"

CHILD_OWNER="", CHILD_TABLE="Клиенты"

P2C_VERB_PHRASE="R/12", C2P_VERB_PHRASE="R/12",

FK_CONSTRAINT="R_12", 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,