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

Откуда:
Сообщений: 321
Есть приложение в Access. Из него идет запрос типа insert into select ... на вставку стразу 500 строк. На сервер все это приходит 500 отдельными запросами. Соответственно 500 вызовов триггера.

Раньше пакетной вставки не было, по этому все было ОК.

В принципе необходимо, что бы триггер срабатывал 1 раз как при вставке 1 строки, так и при вставке 500. Можно ли это как-нибудь реализовать или это не реально?
3 сен 09, 16:51    [7614315]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
На сервер все это приходит 500 отдельными запросами.


Ройте Вашего клиента. Сервер сам не переписывает запросы.
3 сен 09, 16:52    [7614334]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
mar55555
Из него идет запрос типа insert into select ... на вставку стразу 500 строк. На сервер все это приходит 500 отдельными запросами
это почему еще?
Если у Вас команды такого типа:
insert into mytable(myfield)
select 1 union all
select 2 union all
select 3 union all
..................
select 499 union all
select 500
то это один запрос а не 500
3 сен 09, 16:55    [7614362]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Полагаю, что у автора не ADP проект, а связанные таблицы и не запрос к серверу. Ибо тока в этом случае можно предположить, что DAO превратит запрос INSERT ... SELECT в кучу INSERT ... VALUES...
3 сен 09, 16:57    [7614381]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
mar55555
Member

Откуда:
Сообщений: 321
INSERT INTO REESTR ( CAR, SAID, PERIOD, CITY, TYPE, FORMAT, GID, SIDE, ADDRESS, PRICE_IN, PRICE_OUT, BRAND, STATUS, STATUS_PAY_CLT, STATUS_PAY_SUP, CREATED, CREATE_USER )
SELECT Forms!addition_periods!CAR AS CAR, Forms!reestr_temp!SAID AS SAID, Forms!reestr_temp!PERIOD AS PERIOD, Forms!reestr_temp!CITY AS CITY, Forms!reestr_temp!TYPE AS TYPE, Forms!reestr_temp!FORMAT AS FORMAT, REESTR_TEMP.GID, REESTR_TEMP.SIDE, REESTR_TEMP.ADDRESS, REESTR_TEMP.PRICE_IN, REESTR_TEMP.PRICE_OUT, REESTR_TEMP.BRAND, 0 AS STATUS, 0 AS STATUS_PAY_CLT, 0 AS STATUS_PAY_SUP, Now() AS CREATED, Forms!connection_info!uid AS CREATE_USER
FROM REESTR_TEMP;

это запрос, написанный на клиенте.
3 сен 09, 17:03    [7614425]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
mar55555
Member

Откуда:
Сообщений: 321
т.е. по сути выгрузка из временной таблицы на сервер mssql
3 сен 09, 17:04    [7614430]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
думаю вот ето верно
-------------------------------------
Jedem Das Seine
3 сен 09, 17:05    [7614434]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
mar55555
INSERT INTO REESTR ( CAR, SAID, PERIOD, CITY, TYPE, FORMAT, GID, SIDE, ADDRESS, PRICE_IN, PRICE_OUT, BRAND, STATUS, STATUS_PAY_CLT, STATUS_PAY_SUP, CREATED, CREATE_USER )
SELECT Forms!addition_periods!CAR AS CAR, Forms!reestr_temp!SAID AS SAID, Forms!reestr_temp!PERIOD AS PERIOD, Forms!reestr_temp!CITY AS CITY, Forms!reestr_temp!TYPE AS TYPE, Forms!reestr_temp!FORMAT AS FORMAT, REESTR_TEMP.GID, REESTR_TEMP.SIDE, REESTR_TEMP.ADDRESS, REESTR_TEMP.PRICE_IN, REESTR_TEMP.PRICE_OUT, REESTR_TEMP.BRAND, 0 AS STATUS, 0 AS STATUS_PAY_CLT, 0 AS STATUS_PAY_SUP, Now() AS CREATED, Forms!connection_info!uid AS CREATE_USER
FROM REESTR_TEMP;

это запрос, написанный на клиенте.


И... Как Вы думаете, прежде чем отправить его на сервер, Access должен заменить значения из полей формы? И функцию Accessовскую вызвать NOW(). иповторить это для каждой записи в REESTR_TEMP. Как это может сделать DAO, кроме как кучей инстертов? Ответ - никак. Переходите от связанных таблиц к проектам Access и откройте для себя параметры.
3 сен 09, 17:07    [7614444]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
mar55555
Member

Откуда:
Сообщений: 321
На данный момент не могу ничего поменять со стороны access. Можно ли что-нибудь предпринять на стороне сервера?
3 сен 09, 17:10    [7614473]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
mar55555,

Етить-колотить... Вы хоть понимаете КАК Access взаимодействует с SQL Server при выбранной Вами архитектуре? Access формирует запросы, еще раз Access, а сервер исполняет то, что ему послали.
3 сен 09, 17:13    [7614488]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
mar55555
Member

Откуда:
Сообщений: 321
Я не понимаю. И не я писала это приложение. Я столкнулась только с последствиями работы этого приложения. и пытаюсь узнать можно ли что-то предпринять.
3 сен 09, 17:15    [7614518]     Ответить | Цитировать Сообщить модератору
 Re: Импорт  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
mar55555,

На стороне сервера - нет.
3 сен 09, 17:15    [7614528]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить