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

Откуда:
Сообщений: 339
Есть таблица create table A(int a) и триггер
create trigger mytr on A
after insert
as
begin
print 'insert new row'
end


когда
insert into A(a) values(5)
insert into A(a) values(6)
insert into A(a) values(7)

тригер срабатывает один раз



go
insert into A(a) values(5)
go
insert into A(a) values(6)
go
insert into A(a) values(7)
go
тригер работает три раза


как сделать так чтобы он в первом случаи cработал три раза?
10 июл 11, 11:23    [10952076]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Karen__84
как сделать так чтобы он в первом случаи cработал три раза?


он и так срабатывает 3 раза...в любом из ваших вариантов
10 июл 11, 11:29    [10952079]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
qwerty112
Guest
Karen__84
..
как сделать так чтобы он в первом случаи cработал три раза?

просто ничего не делать
триггер сработает 3-и раза
10 июл 11, 11:30    [10952080]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Karen__84
когда
insert into A(a) values(5)
insert into A(a) values(6)
insert into A(a) values(7)

тригер срабатывает один раз
Если сервер - Microsoft SQL, то этого не может быть.
Если бы Вы в MS SQL 2008 написали
insert into A(a) values(5),(6),(7);
то сработал бы один раз.
10 июл 11, 11:33    [10952083]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
Karen__84
Member

Откуда:
Сообщений: 339
у меня ms sql server 2008 и

insert into A (a) values(4)
insert into A (a) values(5)
insert into A (a) values(6)
работает один раз
10 июл 11, 11:55    [10952094]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
qwerty112
Guest
Karen__84
у меня ms sql server 2008 и

insert into A (a) values(4)
insert into A (a) values(5)
insert into A (a) values(6)
работает один раз

из чего вы этот вывод делаете ?

а что будет, если так изменить триггер
alter trigger mytr on A
after insert
as
begin
declare @cnt int
select @cnt=count(*) from inserted
print @cnt
end
10 июл 11, 12:05    [10952104]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
проходящий.
Guest
Karen__84
у меня ms sql server 2008 и

insert into A (a) values(4)
insert into A (a) values(5)
insert into A (a) values(6)
работает один раз

insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
Это называется один раз?
10 июл 11, 12:15    [10952119]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
проходящий.
Karen__84
у меня ms sql server 2008 и

insert into A (a) values(4)
insert into A (a) values(5)
insert into A (a) values(6)
работает один раз

insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
Это называется один раз?
А так?
set nocount on;
insert into A (a) values(4);
insert into A (a) values(5);
insert into A (a) values(6);
10 июл 11, 13:49    [10952247]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
проходящий.
Guest
iap
проходящий.
пропущено...

insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
insert new row

(1 row(s) affected)
Это называется один раз?
А так?
set nocount on;
insert into A (a) values(4);
insert into A (a) values(5);
insert into A (a) values(6);
Невелика разница:
insert new row
insert new row
insert new row
10 июл 11, 14:41    [10952349]     Ответить | Цитировать Сообщить модератору
 Re: Тригеры  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31950
Karen__84
у меня ms sql server 2008 и

insert into A (a) values(4)
insert into A (a) values(5)
insert into A (a) values(6)
работает один раз
Вы ошибаетесь. Проверить-то несложно, чего спорить.
10 июл 11, 18:36    [10952651]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить