CREATE TABLE [dbo].[ca_asset]
(
[asset_uuid] [binary] (16) NOT NULL,
[label] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[asset_tag] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[serial_number] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[creation_user] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[creation_date] [int] NULL,
[last_update_user] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
[last_update_date] [int] NULL,
[version_number] [int] NULL CONSTRAINT [DF__ca_asset__versio__4C8B54C9] DEFAULT ('0'),
[asset_type_id] [int] NULL,
[exclude_registration] [int] NULL,
[delete_time] [int] NULL,
[tenant] [binary] (16) NULL
) ON [PRIMARY]
GO
create trigger r_upd_asset4tenant
on [dbo].[ca_asset]
after update, insert
as
declare @presAssetSrcUuid binary(16);
declare @newTenantId binary(16);
begin
if update(tenant)
begin
declare cursor_as cursor local for
select distinct a.tenant, asrc.asset_source_uuid
from ca_asset a, ca_logical_asset la, ca_asset_source asrc, inserted uptbl
where a.asset_uuid = la.asset_uuid
AND la.logical_asset_uuid = asrc.logical_asset_uuid
and asrc.subschema_id = 3
and a.tenant = uptbl.tenant
and a.asset_uuid = uptbl.asset_uuid;
open cursor_as;
fetch next from cursor_as into @newTenantId, @presAssetSrcUuid;
while @@fetch_status = 0
begin
execute sp_updateTenantOnDisHw @newTenantId, @presAssetSrcUuid;
fetch next from cursor_as into @newTenantId, @presAssetSrcUuid;
end;
close cursor_as;
deallocate cursor_as;
end;
end;
GO
ALTER TABLE [dbo].[ca_asset] ADD CONSTRAINT [XPKca_asset] PRIMARY KEY CLUSTERED ([asset_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_asset_idx_02] ON [dbo].[ca_asset] ([asset_tag], [exclude_registration], [delete_time], [asset_type_id], [tenant]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_asset_idx_01] ON [dbo].[ca_asset] ([label], [exclude_registration], [delete_time], [asset_type_id], [tenant]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_asset_idx_03] ON [dbo].[ca_asset] ([serial_number], [exclude_registration], [delete_time], [asset_type_id], [tenant]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ca_asset] ADD CONSTRAINT [$ca_as_r000001e900000000] FOREIGN KEY ([asset_type_id]) REFERENCES [dbo].[ca_asset_type] ([asset_type_id])
GO
ALTER TABLE [dbo].[ca_asset] ADD CONSTRAINT [FKca_asset_tnt] FOREIGN KEY ([tenant]) REFERENCES [dbo].[ca_tenant] ([id])
GO
GRANT SELECT ON [dbo].[ca_asset] TO [aiadmin]
GRANT SELECT ON [dbo].[ca_asset] TO [ams_group]
GRANT SELECT ON [dbo].[ca_asset] TO [amsgroup]
GRANT SELECT ON [dbo].[ca_asset] TO [ca_itrm_group]
GRANT INSERT ON [dbo].[ca_asset] TO [ca_itrm_group]
GRANT DELETE ON [dbo].[ca_asset] TO [ca_itrm_group]
GRANT UPDATE ON [dbo].[ca_asset] TO [ca_itrm_group]
GRANT SELECT ON [dbo].[ca_asset] TO [ca_itrm_group_ams]
GRANT SELECT ON [dbo].[ca_asset] TO [regadmin]
GRANT INSERT ON [dbo].[ca_asset] TO [regadmin]
GRANT DELETE ON [dbo].[ca_asset] TO [regadmin]
GRANT UPDATE ON [dbo].[ca_asset] TO [regadmin]
GRANT SELECT ON [dbo].[ca_asset] TO [service_desk_admin_group]
GRANT SELECT ON [dbo].[ca_asset] TO [swcmadmin]
GRANT INSERT ON [dbo].[ca_asset] TO [swcmadmin]
GRANT DELETE ON [dbo].[ca_asset] TO [swcmadmin]
GRANT UPDATE ON [dbo].[ca_asset] TO [swcmadmin]
GRANT SELECT ON [dbo].[ca_asset] TO [ucmadmin]
GRANT SELECT ON [dbo].[ca_asset] TO [ucmuser]
GRANT SELECT ON [dbo].[ca_asset] TO [uniadmin]
GRANT SELECT ON [dbo].[ca_asset] TO [uniuser]
GRANT SELECT ON [dbo].[ca_asset] TO [upmuser_group]
GO