CREATE TABLE [dbo].[tng_inclusion]
(
[uuid] [binary] (16) NOT NULL,
[parent_class] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
[parent_uuid] [binary] (16) NOT NULL,
[parent_repository] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[child_class] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
[child_uuid] [binary] (16) NOT NULL,
[child_repository] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[parent_sequence_no] [int] NULL,
[child_sequence_no] [int] NULL,
[hidden] [tinyint] NULL CONSTRAINT [DF__tng_inclu__hidde__571EBD2C] DEFAULT ((0)),
[coord_type] [int] NULL,
[position_x] [float] NULL,
[position_y] [float] NULL,
[position_z] [float] NULL,
[size_cx] [float] NULL,
[size_cy] [float] NULL,
[size_cz] [float] NULL
) ON [PRIMARY]
GO
CREATE trigger tng_td_inclusion on tng_inclusion for delete as
set nocount on
if not exists ( select * from deleted )
return
insert into tng_change_history ( operation, class_name, object_id1, portnum1, object_id2, portnum2, object_id3 ,timestamp,user_name, parent_src_class, child_des_class)
select 'd', 'Inclusion', uuid, child_sequence_no,child_uuid,parent_sequence_no, parent_uuid,getdate(),SUSER_SNAME(), parent_class, child_class
from deleted
return
GO
CREATE trigger tng_ti_inclusion on tng_inclusion FOR INSERT AS
set nocount on
declare @uuid UUID
if not exists ( select * from inserted )
return
select @uuid=uuid from inserted
if(@uuid is not null)
begin
insert into tng_change_history ( operation, class_name, object_id1, portnum1, object_id2, portnum2, object_id3, timestamp, user_name, parent_src_class, child_des_class )
select 'i', 'Inclusion', uuid, 0, parent_uuid, 0, child_uuid, getdate(), SUSER_SNAME(), parent_class, child_class
from inserted
end
return
GO
CREATE trigger tng_tu_inclusion on tng_inclusion for update as
set nocount on
if not exists ( select * from deleted )
return
if(update(child_uuid) or update(child_class) or update(child_repository) or update(hidden) or
update(parent_uuid) or update(parent_class) or update(parent_repository) or
update(coord_type) or
update(position_x) or
update(position_y) or
update(position_z) or
update(size_cx) or
update(size_cy) or
update(size_cz)
)
insert into tng_change_history ( operation, class_name, object_id1, portnum1, object_id2, portnum2, object_id3, timestamp, user_name, parent_src_class, child_des_class )
select 'u', 'Inclusion', uuid, child_sequence_no, parent_uuid, parent_sequence_no, child_uuid, getdate(),SUSER_SNAME(), parent_class, child_class
from deleted
return
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_child_seq_no] ON [dbo].[tng_inclusion] ([child_sequence_no]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_child_parent] ON [dbo].[tng_inclusion] ([child_uuid], [parent_uuid], [parent_class]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_child_uuid] ON [dbo].[tng_inclusion] ([child_uuid], [uuid], [child_sequence_no]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_hidden] ON [dbo].[tng_inclusion] ([hidden]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_puuid] ON [dbo].[tng_inclusion] ([parent_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [x_tng_inclusion_parent_child] ON [dbo].[tng_inclusion] ([parent_uuid], [child_uuid], [uuid], [child_class]) ON [PRIMARY]
GO
CREATE UNIQUE NONCLUSTERED INDEX [baseidx_tng_inclusion] ON [dbo].[tng_inclusion] ([uuid]) ON [PRIMARY]
GO
GRANT SELECT ON [dbo].[tng_inclusion] TO [ucmadmin]
GRANT SELECT ON [dbo].[tng_inclusion] TO [ucmuser]
GRANT SELECT ON [dbo].[tng_inclusion] TO [uniadmin]
GRANT INSERT ON [dbo].[tng_inclusion] TO [uniadmin]
GRANT DELETE ON [dbo].[tng_inclusion] TO [uniadmin]
GRANT UPDATE ON [dbo].[tng_inclusion] TO [uniadmin]
GRANT SELECT ON [dbo].[tng_inclusion] TO [uniuser]
GRANT SELECT ON [dbo].[tng_inclusion] TO [wvadmin]
GRANT INSERT ON [dbo].[tng_inclusion] TO [wvadmin]
GRANT DELETE ON [dbo].[tng_inclusion] TO [wvadmin]
GRANT UPDATE ON [dbo].[tng_inclusion] TO [wvadmin]
GRANT SELECT ON [dbo].[tng_inclusion] TO [wvuser]
GO