powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по работе insert или триггера
13 сообщений из 13, страница 1 из 1
Вопрос по работе insert или триггера
    #32004825
SQL 2000
Как происходит обработка вставляемых записей ??
Предположим after trigger
Индексы пока не интересуют
Так
1. Insert строки 1
2. Trigger обработка строки 1
3. Insert строки 2
4. Trigger обработка строки 2
или возможна след ситуация
1. Insert строки 1
2. Insert строки 2
3. Trigger обработка строки 1
4. Trigger обработка строки 2
????

Вообще-то задача в след необходимо
- DB1 publisher
- DB2 subscriber возможно больше чем один
- Репликация сведением (merge)
- Реплицируемая таблица
tbTable (
Field1 int
Field2 char(20)
)

Хотелось-бы через триггер в Field1 поле вставлять следующее значение ( Field1+1 ) при вставке из subscriber-a. Но так чтобы при этом изменялость значение Field1 и на subscriber-е.

Надеюсь что подскажете, как данный момент можно реализовать.

Спасибо.
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004828
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как бы не шла вставка, триггер сработает всегда 1 раз на инструкцию insert. Не зависимо от того сколько записей вставляется инструкцией insert.

Например:

INSERT INTO Table1(...)
VALUES(...) - т.е. 1 запись - одно срабатывание тригерра insert

INSERT INTO Table1
SELECT * FROM Table2 (в которой 1 000 000 записей) - все равно одно срабатывание тригерра insert
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004830
Т.е. Вы хотите сказать, что если я внутри триггера делаю SELECT Max(ID) FROM tbTable, то значение будет одно и тоже для всех вставляемых записей ??
Я почему то получил обратный результат.
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004831
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Garya Привилегированный пользователь
Участник
Что означает фраза "для всех вставляемых записей"? Для всех, вставляемых за одну операцию Insert? Или для всех, вставляемых разными операциями Insert?
Я немного дополню ответ pkarklin. Триггер срабатывает один раз на одну операцию insert. Независимо от того, сколько записей вставляет одна команда Insert - 1000000 или вообще ни одной. Он срабатывает на событие произнесения на языке T-SQL слова "insert" . Если ты несколько раз будешь запускать операции вставки несколькими командами Insert, то и триггер у тебя запустится несколько раз.
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004835
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, посмотрите
http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=mssql&Post=979&Idle=365&Sort=0&Order=Descend&Page=0&Session=
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004836
Alexander Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что - у кого-то это работает?
Я имею ввиду - надежно и стабильно )
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004839
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам в процентном соотношении? А в прочем в ввиде дроби, если, судя по вопросу, у Вас до сих пор не работатет:

[общее число клиентов MSSQL во всей вселенной - 1]:1

Что такое -1 надеюсь понятно?
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004840
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает всегда и везде.
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004841
Павел прикол суперовский

Сорру я видимо не корректно задал вопрос, попробую перефразововать.
Меня интересует последовательно всавляются записи в таблицу или возможна ситуация паралельной вставки записей в таблицу при ситуации последовательной вставки, т.е. insert, insert и т.д.

Насчет merge, работает пока
Спасибо
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004844
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кидай сюда кусок кода на вставку, на чем бы он небыл сотворен. Раберемся.
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004871
Павел данный вопрос меня интересует не сколько с практической точки зрения, сколько с понимания как работает SQL.
Кусок вставить не могу, потому что вставка производится путем запуска репликации (merge).

Спасибо
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004880
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, к сведению: паралельная вставка в принципе быть не может, т.к. каждый оператор insert это отдельная неявная транзакция
...
Рейтинг: 0 / 0
Вопрос по работе insert или триггера
    #32004888
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, в контексте работы триггера SergSuper безусловно прав. Я же задумался о том, как в рамках одного коннекта запустить несколько вставок в одну таблицу. С помошью ADO, в принципе, это возможно (при использовании ассинхронного режима). Но повторяюсь, в контексте работы триггера это не важно.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по работе insert или триггера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]