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

Откуда:
Сообщений: 11
создаю таблицу:

USE [test]
GO
/****** Object: Table [dbo].[UserStart] Script Date: 08/31/2009 14:30:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[UserStart](
[uname] [int] NULL,
[id] [int] NULL
) ON [PRIMARY]


Вставляю запись в таблицу

insert into anpz_konv..userstart values (5,6)



Создаю триггер

USE [test]
GO
/****** Object: Trigger [dbo].[del_2] Script Date: 08/31/2009 13:49:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[del_2] ON [dbo].[UserStart]
after delete
AS
DECLARE @uname tinyint
SELECT @uname = d.id
from deleted d, userstart u
where d.id = u.id
if @uname = 6
begin
--SET NOCOUNT ON;
RAISERROR ('Этот триггер работает', 16, 1)
ROLLBACK TRANSACTION
end


удаляю запись из таблицы

delete from anpz_konv..userstart where id = 6

триггер не срабатывает
31 авг 09, 10:36    [7596265]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление по значению поля записи  [new]
gawsik
Member

Откуда:
Сообщений: 11
вставка и удаление

Insert into test..userstart values (5,6)
delete from anpz_konv..userstart where id = 6
31 авг 09, 10:39    [7596289]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление по значению поля записи  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
А почему схему в DELETE явно не пишете? Может, схем много, и у каждой такая таблица есть?

А вообще, неправильный триггер. Он не будет работать, если одним DELETEом несколько записей удалить.
31 авг 09, 10:40    [7596303]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление по значению поля записи  [new]
Нектотам
Guest
gawsik
Insert into test..userstart values (5,6)
delete from anpz_konv..userstart where id = 6

1. А почему БД разные?
2. Триггер неправильно может работать при удалении более 1 строки
31 авг 09, 10:40    [7596304]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление по значению поля записи  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Кстати говоря, к моменту запуска триггера AFTER DELETE запись из таблицы УЖЕ УДАЛЕНА!
Как же с ней можно deleted джойнить?
31 авг 09, 10:43    [7596319]     Ответить | Цитировать Сообщить модератору
 Re: Триггер на удаление по значению поля записи  [new]
gawsik
Member

Откуда:
Сообщений: 11
Ага, уже увидел, из примера тащил код и забыл про эту связку
31 авг 09, 11:03    [7596495]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить