Скрипт создает триггер, срабатывающий при добавлении новой машины в список, автоматически добавляющий данную машину в группу, с указанным названием.
Удобно, если с программой работает несколько человек, для контроля (описания, распределения по группам) добавленных ТС.
Все новые ТС будут собираться в определенной группе, что упрощает их идентификацию другим пользователем.
Код
/****** Object: Trigger [dbo].[Insert_new_TC_on_group] Script Date: 07/28/2011 14:13:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Бондарь Михаил ака LogOff
-- Create date: 28.07.2011
-- Description: Автоматическая вставка созданной записи о машине в группу с именем
-- =============================================
Create TRIGGER [dbo].[Insert_new_TC_on_group]
ON [dbo].[FLEET_Object]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @group_name varchar(255),@group_id int
set @group_name='Новые ТС' -- название группы куда будет добавление ТС
select @group_id=ObjectGroupeID from dbo.FLEET_ObjectGroupe where ObjectGroupeName=@group_name
if @group_id is not null begin -- проверка что группа найдена
INSERT INTO .[dbo].[FLEET_ObjectRelation] (ObjectID,ObjectGroupeID) SELECT ObjectID,@group_id FROM inserted
end
END
где:
set @group_name='Новые ТС' -- Новые ТС название группы куда будет добавление ТС
триггер ищет группу по имени, потому если имя группы поменять, то добавление в группу прекратится.
Если группа с указанным именем не найдена - добавления никуда не происходит.
Если требуется добавлять в группу с другим именем - новое имя следует написать в указанной строке после знака равенства в одинарных кавычках.