Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Cоздание триггера


Автор: eXX 16.7.2004, 15:19
Подскажите
Как сделать триггер или хранимую процедуру
чтобы при лобавлении записи в таблицу автоматически вставлялись
данные в определенные поля соответствующей новой записи.

Мой код:
-------------------------------
Код

CREATE TRIGGER TRIG1
ON Abiturient
FOR INSERT
AS

/*
...
*/

UPDATE (ab_Year)='текущий год'
GO

PS: Где-нить в рунете можно найти учебники в PDF'е или HTML на русском по
SQL SERVER 2000

Автор: BSV_Sergey 1.12.2004, 13:28
В теле триггера можно использовать служебные таблицы deleted и inserted.
При выполнении INSERT таблица deleted будет пустая, а в inserted будут содержаться вставленные записи. При выполнении DELETE таблица inserted будет пустая, а в deleted будут содержаться удаленные записи. При выполнении UPDATE в deleted содержаться записи до изменения, а в inserted после изменения.

Тригер отслеживающий добавление записей я бы написал так:
Код

CREATE TRIGGER INSERTTRIG ON [TABLE1]
FOR INSERT
AS
UPDATE TABLE1
SET CREATEDATE = GETDATE()
WHERE [ID] IN (SELECT [ID] FROM INSERTED)
GO


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)