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

Откуда:
Сообщений: 141
Привет!

Довольно интересная ситуация. В одной хранимой процедуре написана реализация выгрузки данных с другой базы по разным сущностям. Вся выгрузка строиться чисто insert на основе select по каждой сущности.
Код формируется динамически и выполняется с помощью sp_ExecuteSQL
Таких конструкций около 10

В последней конструкции в одно из полей выборки должны подставляться значения из присоединенной (left join) таблицы, которая наполняется в этой же процедуре ранее.
Так вот, при первичной выгрузке данное поле не заполняется. Если выполнить последнюю конструкцию уже после выполнения процедуры, то данное поле заполняется.
Такое ощущение, что при выполнении последней конструкции данных в приджойниной таблице ещё нет.
Как это может быть?
23 мар 12, 23:18    [12305037]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Genniy
Как это может быть?

Видимо, какая-то часть кода написана неправильно?
23 мар 12, 23:20    [12305046]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
Genniy
Member

Откуда:
Сообщений: 141
locky,
:) Если этот же код выполняю отдельно, то всё ок.
23 мар 12, 23:22    [12305056]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Genniy
locky,
:) Если этот же код выполняю отдельно, то всё ок.

Видимо, какая-то другая часть кода написана неправильно?
23 мар 12, 23:35    [12305106]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
я бы порекомендовал просмотреть строки с 35-й по 38-ю

зы это я так намекаю, что на вопрос "у меня есть процедура, работает неправильно, в чем дело?" - ответа не бывает
Вот если бы был код, исходные данные для тестирования, тест-кейс.....
23 мар 12, 23:36    [12305114]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
Genniy
Такое ощущение, что при выполнении последней конструкции данных в приджойниной таблице ещё нет.
Как это может быть?
Никакого "запаздывания" при вставке данных быть не может, ищите ошибку в коде.
23 мар 12, 23:45    [12305142]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
locky
я бы порекомендовал просмотреть строки с 35-й по 38-ю
Нифига. В 17й строке ошибка.
23 мар 12, 23:49    [12305148]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
Genniy
Member

Откуда:
Сообщений: 141
alexeyvg
Genniy
Такое ощущение, что при выполнении последней конструкции данных в приджойниной таблице ещё нет.
Как это может быть?
Никакого "запаздывания" при вставке данных быть не может, ищите ошибку в коде.


Да какие примеры? Простейший insert на основание select сначала вставляются записи в основную таблицу, потом в подчинённую.
Какая ошибка в коде? Я же написал, что если выполнять отдельно каждую конструкцию, то всё хорошо вставляется!

Меня как раз интересует допустимость "запаздывания" вставки. Возможно ли это вообще? Может какая-то особенность в sp_executeSQL?
24 мар 12, 00:03    [12305170]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Genniy,

все там синхронно. смотреть надо.
24 мар 12, 00:07    [12305177]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
Genniy
Меня как раз интересует допустимость "запаздывания" вставки. Возможно ли это вообще? Может какая-то особенность в sp_executeSQL?
Вам уже ответили: никаких запаздываний быть не может. И не ищите особенностей на стороне сервера, они однозначно в вашем коде.
24 мар 12, 00:09    [12305181]     Ответить | Цитировать Сообщить модератору
 Re: Последовательность выполнение в хранимой процедуре  [new]
Genniy
Member

Откуда:
Сообщений: 141
invm,

Ок. Всем большое спасибо! Буду разбираться.
24 мар 12, 00:11    [12305194]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить