CREATE TABLE [dbo].[ca_query_def]
(
[domain_uuid] [binary] (16) NOT NULL,
[query_uuid] [binary] (16) NOT NULL,
[label] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[query_type] [int] NULL,
[query_cont] [ntext] COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[target_table] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[target_type] [int] NULL,
[creation_user] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[creation_date] [int] NULL,
[last_update_user] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[last_update_date] [int] NULL,
[version_number] [int] NULL CONSTRAINT [DF__ca_query___versi__475C8B58] DEFAULT ((0)),
[auto_rep_version] [timestamp] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE trigger r_del_query
on ca_query_def
instead of delete
as
begin
declare @old_query_uuid as binary(16);
DECLARE mycur CURSOR LOCAL
FOR select query_uuid from deleted
OPEN mycur
FETCH NEXT FROM mycur INTO @old_query_uuid
WHILE @@FETCH_STATUS = 0
BEGIN
execute p_integrity_d_query_def @old_query_uuid ;
delete from ca_query_def where query_uuid = @old_query_uuid;
FETCH NEXT FROM mycur INTO @old_query_uuid;
END
CLOSE mycur
DEALLOCATE mycur
end
GO
CREATE trigger r_upd_verno_query_def
on ca_query_def
after update
as
declare @old_verno as int;
declare @new_verno as int;
begin
if update (version_number)
begin
DECLARE mycur CURSOR
FOR select deleted.version_number, inserted.version_number from inserted, deleted
OPEN mycur
FETCH NEXT FROM mycur INTO @old_verno,@new_verno
WHILE @@FETCH_STATUS = 0
BEGIN
execute p_integrity_version_number @old_verno , @new_verno ;
FETCH NEXT FROM mycur INTO @old_verno,@new_verno;
END
CLOSE mycur
DEALLOCATE mycur
end;
end;
GO
CREATE trigger rule_d_so_del_query
on ca_query_def
after delete
as
begin
declare @ddis_hw_uuid binary(16);
DECLARE mycur CURSOR
FOR select query_uuid from deleted
OPEN mycur
FETCH NEXT FROM mycur INTO @ddis_hw_uuid
WHILE @@FETCH_STATUS = 0
BEGIN
execute proc_d_so_removed_object @ddis_hw_uuid
FETCH NEXT FROM mycur INTO @ddis_hw_uuid;
END
CLOSE mycur
DEALLOCATE mycur
end;
GO
CREATE trigger rule_i_so_new_query
on ca_query_def
after insert
as
begin
declare @_obj_uuid binary(16);
declare @_clsid integer;
declare @_uri nvarchar(255);
select @_obj_uuid = (select query_uuid from inserted);
select @_clsid = 1007;
select @_uri = (select creation_user from inserted);
execute proc_i_new_so_object @_obj_uuid, @_clsid, @_uri;
end;
GO
CREATE trigger usd_trg_d_query_usd_rel
on ca_query_def
for delete as
begin
update usd_actproc set version = version + 1,
query = 0x00000000000000000000000000000000
from deleted d
where query = d.query_uuid
update usd_class_version set modify_version = modify_version + 1
where name = 'actproc'
end
GO
ALTER TABLE [dbo].[ca_query_def] ADD CONSTRAINT [XPKca_query_def] PRIMARY KEY CLUSTERED ([query_uuid]) ON [PRIMARY]
GO
GRANT SELECT ON [dbo].[ca_query_def] TO [ca_itrm_group]
GRANT INSERT ON [dbo].[ca_query_def] TO [ca_itrm_group]
GRANT DELETE ON [dbo].[ca_query_def] TO [ca_itrm_group]
GRANT UPDATE ON [dbo].[ca_query_def] TO [ca_itrm_group]
GRANT SELECT ON [dbo].[ca_query_def] TO [ca_itrm_group_ams]
GRANT SELECT ON [dbo].[ca_query_def] TO [dms_backup_group]
GRANT INSERT ON [dbo].[ca_query_def] TO [dms_backup_group]
GRANT DELETE ON [dbo].[ca_query_def] TO [dms_backup_group]
GRANT UPDATE ON [dbo].[ca_query_def] TO [dms_backup_group]
GRANT SELECT ON [dbo].[ca_query_def] TO [regadmin]
GRANT SELECT ON [dbo].[ca_query_def] TO [upmuser_group]
GO