Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 If ... Create Trigger  [new]
sraider
Member

Откуда:
Сообщений: 325
If ... Create Table работает, а If ... Create Trigger - нет.

If Object_ID(N'test table') Is Null
Create Table [test table]
(
	rv rowversion
)
GO

If Object_ID(N'test trigger') Is Null
Create Trigger [test trigger] on [test table] After Delete As
Declare @noop int
GO


Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'Trigger'.


Возможно ли как-нибудь по-другому записать?

Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
19 июн 14, 17:28    [16191115]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
If Object_ID(N'test trigger') Is Null
exec ('Create Trigger [test trigger] on [test table] After Delete As
Declare @noop int')
GO
19 июн 14, 17:34    [16191175]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
drop/create
19 июн 14, 17:34    [16191180]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
gang
Member

Откуда:
Сообщений: 1394
sraider,
If Object_ID(N'test trigger') Is not Null drop Trigger [test trigger] 
go
Create Trigger [test trigger] on [test table] After Delete As
Declare @noop int
GO
19 июн 14, 17:39    [16191219]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
IF OBJECT_ID(N'ИмяТриггера','TR') IS NOT NULL
 SET NOEXEC ON
ELSE
 SET NOEXEC OFF;
GO
CREATE TRIGGER ...
GO
SET NOEXEC OFF;
19 июн 14, 17:39    [16191221]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
If Object_ID(N'test trigger') Is Null
 exec('Create Trigger [test trigger] on [test table] After Delete As set nocount on')
go

alter Trigger [test trigger] on [test table] After Delete As
Declare @noop int
go
19 июн 14, 18:28    [16191454]     Ответить | Цитировать Сообщить модератору
 Re: If ... Create Trigger  [new]
sraider
Member

Откуда:
Сообщений: 325
всем спасибо. остановился на варианте

If ... Drop Trigger
GO
Create Trigger
19 июн 14, 19:07    [16191599]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить