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


Автор: savt 3.3.2006, 07:19
Подскажите синтаксис создания нескольких триггеров подряд. Нужен ли там какой-нибудь разделитель? Потому как ниже приведенная запись не проходит.

Пример:
CREATE TRIGGER KATINS ON KATALOG FOR INSERT
AS
INSERT MAGAZINE (USERS,TABLES,ACTION)
VALUES (USER,'KATALOG','ЗАПИСЬ')

CREATE TRIGGER KATDEL ON KATALOG FOR DELETE
AS
INSERT MAGAZINE (USERS,TABLES,ACTION)
VALUES ('','KATALOG','УДАЛЕНИЕ')

CREATE TRIGGER KATUPD ON KATALOG FOR UPDATE
AS
INSERT MAGAZINE (USERS,TABLES,ACTION)
VALUES ('','KATALOG','ИЗМЕНЕНИЕ')

Автор: Vit 3.3.2006, 16:10
Все SQL запросы должны быть запущены по отдельности, CREATE TRIGGER должен быть всегда первым оператором запроса. Если делать через Query Analyser то тогда надо:
Код


CREATE TRIGGER KATINS ON KATALOG FOR INSERT
AS
INSERT MAGAZINE (USERS,TABLES,ACTION) 
VALUES (USER,'KATALOG','ЗАПИСЬ')
GO

CREATE TRIGGER KATDEL ON KATALOG FOR DELETE
AS
INSERT MAGAZINE (USERS,TABLES,ACTION) 
VALUES ('','KATALOG','УДАЛЕНИЕ')
GO

CREATE TRIGGER KATUPD ON KATALOG FOR UPDATE
AS
INSERT MAGAZINE (USERS,TABLES,ACTION) 
VALUES ('','KATALOG','ИЗМЕНЕНИЕ') 
GO


А если из программы или хранимой процедуры то каждый запрос на создание надо посылать отдельно, там операнд GO не работает

(Это же касается и Create View, Create Procedure, Create Function)

Автор: savt 6.3.2006, 05:58
Спасибо за информацию.

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