Методическое пособие 506
.pdfbegin
update Coordination set
/* Coordination.NumberDocuments = NULL */ Coordination.NumberDocuments = NULL
from Coordination,deleted where
/* Coordination.NumberDocuments = deleted.NumberDocuments */
Coordination.NumberDocuments = deleted.NumberDocuments
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Equipment R/45 Documents ON CHILD UPDATE SET NULL */
if
/* update(NumberEquipment) */ update(NumberEquipment)
begin
update Documents set
/* Documents.NumberEquipment = NULL */ Documents.NumberEquipment = NULL
from Documents,inserted where
/* */ and
not exists (
select * from Equipment where
/* inserted.NumberEquipment = Equipment.NumberEquipment */
inserted.NumberEquipment = Equipment.NumberEquipment
)
end
100
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Schedule_of_TI R/44 Documents ON CHILD UPDATE SET NULL */
if
/* update(Number_of_TO) */ update(Number_of_TO)
begin
update Documents set
/* Documents.Number_of_TO = NULL */ Documents.Number_of_TO = NULL
from Documents,inserted where
/* */ and
not exists (
select * from Schedule_of_TI where
/* inserted.Number_of_TO = Schedule_of_TI.Number_of_TO */
inserted.Number_of_TO = Schedule_of_TI.Number_of_TO
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Shop R/43 Documents ON CHILD UPDATE SET NULL */ if
/* update(NumberShop) */ update(NumberShop)
begin
update Documents set
/* Documents.NumberShop = NULL */ Documents.NumberShop = NULL
from Documents,inserted
101
where /* */ and
not exists (
select * from Shop where
/* inserted.NumberShop = Shop.NumberShop */ inserted.NumberShop = Shop.NumberShop
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/21 Documents ON CHILD UPDATE SET NULL */
if
/* update(nomerOfEmployees) */ update(nomerOfEmployees)
begin
update Documents set
/* Documents.nomerOfEmployees = NULL */ Documents.nomerOfEmployees = NULL
from Documents,inserted where
/* */ and
not exists (
select * from Employees where
/* inserted.nomerOfEmployees = Employees.nomerOfEmployees */
inserted.nomerOfEmployees = Employees.nomerOfEmployees
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ 102
/* Organization R/20 Documents ON CHILD UPDATE SET NULL */
if
/* update(NumberOfOrganization) */ update(NumberOfOrganization)
begin
update Documents set
/* Documents.NumberOfOrganization = NULL */ Documents.NumberOfOrganization = NULL
from Documents,inserted where
/* */ and
not exists (
select * from Organization where
/* inserted.NumberOfOrganization = Organization.NumberOfOrganization */
inserted.NumberOfOrganization = Organization.NumberOfOrganization
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ return
error:
raiserror @errno @errmsg rollback transaction
end go
create trigger tD_Employees on Employees for DELETE as /* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* DELETE trigger on Employees */ begin
103
declare @errno int, @errmsg varchar(255)
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/51 Work_Log ON PARENT DELETE SET NULL */
update Work_Log set
/* Work_Log.nomerOfEmployees = NULL */ Work_Log.nomerOfEmployees = NULL
from Work_Log,deleted where
/* Work_Log.nomerOfEmployees = deleted.nomerOfEmployees */
Work_Log.nomerOfEmployees = deleted.nomerOfEmployees
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/32 Coordination ON PARENT DELETE SET NULL */
update Coordination set
/* Coordination.nomerOfEmployees = NULL */ Coordination.nomerOfEmployees = NULL
from Coordination,deleted where
/* Coordination.nomerOfEmployees = deleted.nomerOfEmployees */
Coordination.nomerOfEmployees = deleted.nomerOfEmployees
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/21 Documents ON PARENT DELETE SET NULL */
update Documents set
/* Documents.nomerOfEmployees = NULL */ Documents.nomerOfEmployees = NULL
104
from Documents,deleted where
/* Documents.nomerOfEmployees = deleted.nomerOfEmployees */
Documents.nomerOfEmployees = deleted.nomerOfEmployees
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ return
error:
raiserror @errno @errmsg rollback transaction
end go
create trigger tI_Employees on Employees for INSERT as /* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* INSERT trigger on Employees */ begin
declare @numrows int, @nullcnt int, @validcnt int, @errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Organization R/5 Employees ON CHILD INSERT SET NULL */
if
/* update(NumberOfOrganization) */ update(NumberOfOrganization)
begin
update Employees set
/* Employees.NumberOfOrganization = NULL */ 105
Employees.NumberOfOrganization = NULL from Employees,inserted
where /* */ and
not exists (
select * from Organization where
/* inserted.NumberOfOrganization = Organization.NumberOfOrganization */
inserted.NumberOfOrganization = Organization.NumberOfOrganization
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ return
error:
raiserror @errno @errmsg rollback transaction
end go
create trigger tU_Employees on Employees for UPDATE as /* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* UPDATE trigger on Employees */ begin
declare @numrows int, @nullcnt int, @validcnt int,
@insnomerOfEmployees int, @errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ 106
/* Employees R/51 Work_Log ON PARENT UPDATE SET NULL */
if
/* update(nomerOfEmployees) */ update(nomerOfEmployees)
begin
update Work_Log set
/* Work_Log.nomerOfEmployees = NULL */ Work_Log.nomerOfEmployees = NULL
from Work_Log,deleted where
/* Work_Log.nomerOfEmployees = deleted.nomerOfEmployees */
Work_Log.nomerOfEmployees = deleted.nomerOfEmployees
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/32 Coordination ON PARENT UPDATE SET NULL */
if
/* update(nomerOfEmployees) */ update(nomerOfEmployees)
begin
update Coordination set
/* Coordination.nomerOfEmployees = NULL */ Coordination.nomerOfEmployees = NULL
from Coordination,deleted where
/* Coordination.nomerOfEmployees = deleted.nomerOfEmployees */
Coordination.nomerOfEmployees = deleted.nomerOfEmployees
end
107
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Employees R/21 Documents ON PARENT UPDATE SET NULL */
if
/* update(nomerOfEmployees) */ update(nomerOfEmployees)
begin
update Documents set
/* Documents.nomerOfEmployees = NULL */ Documents.nomerOfEmployees = NULL
from Documents,deleted where
/* Documents.nomerOfEmployees = deleted.nomerOfEmployees */
Documents.nomerOfEmployees = deleted.nomerOfEmployees
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Organization R/5 Employees ON CHILD UPDATE SET NULL */
if
/* update(NumberOfOrganization) */ update(NumberOfOrganization)
begin
update Employees set
/* Employees.NumberOfOrganization = NULL */ Employees.NumberOfOrganization = NULL
from Employees,inserted where
/* */ and
not exists (
select * from Organization where
108
/* inserted.NumberOfOrganization = Organization.NumberOfOrganization */
inserted.NumberOfOrganization = Organization.NumberOfOrganization
)
end
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */ return
error:
raiserror @errno @errmsg rollback transaction
end go
create trigger tD_Equipment on Equipment for DELETE as /* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* DELETE trigger on Equipment */ begin
declare @errno int, @errmsg varchar(255)
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
/* Equipment R/52 Counters ON PARENT DELETE SET NULL */
update Counters set
/* Counters.NumberEquipment = NULL */ Counters.NumberEquipment = NULL
from Counters,deleted where
/* Counters.NumberEquipment = deleted.NumberEquipment
*/
Counters.NumberEquipment = deleted.NumberEquipment
/* ERwin Builtin Sat Apr 20 22:19:41 2019 */
109