Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
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-е. Надеюсь что подскажете, как данный момент можно реализовать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 18:29 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Как бы не шла вставка, триггер сработает всегда 1 раз на инструкцию insert. Не зависимо от того сколько записей вставляется инструкцией insert. Например: INSERT INTO Table1(...) VALUES(...) - т.е. 1 запись - одно срабатывание тригерра insert INSERT INTO Table1 SELECT * FROM Table2 (в которой 1 000 000 записей) - все равно одно срабатывание тригерра insert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 18:41 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Т.е. Вы хотите сказать, что если я внутри триггера делаю SELECT Max(ID) FROM tbTable, то значение будет одно и тоже для всех вставляемых записей ?? Я почему то получил обратный результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 18:49 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Что означает фраза "для всех вставляемых записей"? Для всех, вставляемых за одну операцию Insert? Или для всех, вставляемых разными операциями Insert? Я немного дополню ответ pkarklin. Триггер срабатывает один раз на одну операцию insert. Независимо от того, сколько записей вставляет одна команда Insert - 1000000 или вообще ни одной. Он срабатывает на событие произнесения на языке T-SQL слова "insert" . Если ты несколько раз будешь запускать операции вставки несколькими командами Insert, то и триггер у тебя запустится несколько раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:04 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Кстати, посмотрите http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=mssql&Post=979&Idle=365&Sort=0&Order=Descend&Page=0&Session= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:31 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Что - у кого-то это работает? Я имею ввиду - надежно и стабильно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:33 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Вам в процентном соотношении? А в прочем в ввиде дроби, если, судя по вопросу, у Вас до сих пор не работатет: [общее число клиентов MSSQL во всей вселенной - 1]:1 Что такое -1 надеюсь понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:53 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Работает всегда и везде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 19:59 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Павел прикол суперовский Сорру я видимо не корректно задал вопрос, попробую перефразововать. Меня интересует последовательно всавляются записи в таблицу или возможна ситуация паралельной вставки записей в таблицу при ситуации последовательной вставки, т.е. insert, insert и т.д. Насчет merge, работает пока Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 20:04 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Кидай сюда кусок кода на вставку, на чем бы он небыл сотворен. Раберемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2001, 21:05 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Павел данный вопрос меня интересует не сколько с практической точки зрения, сколько с понимания как работает SQL. Кусок вставить не могу, потому что вставка производится путем запуска репликации (merge). Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2001, 12:17 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Так, к сведению: паралельная вставка в принципе быть не может, т.к. каждый оператор insert это отдельная неявная транзакция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2001, 13:54 |
|
||
|
Вопрос по работе insert или триггера
|
|||
|---|---|---|---|
|
#18+
Ну да, в контексте работы триггера SergSuper безусловно прав. Я же задумался о том, как в рамках одного коннекта запустить несколько вставок в одну таблицу. С помошью ADO, в принципе, это возможно (при использовании ассинхронного режима). Но повторяюсь, в контексте работы триггера это не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2001, 14:32 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32004836&tid=1826912]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 398ms |

| 0 / 0 |
