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

Откуда: Санкт-Петербург
Сообщений: 409
Скажите, если несколько юзверей в одно и тоже время запустят одну и ту же ХП, то она как выполняться будет? Параллельно или по очереди?
Если параллельно, то как можно сделать ее синглтоном?
28 фев 05, 12:03    [1348852]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Это будет зависеть от того, какие ресурсы, заблокированные одной хп будут нужны другой хп. Если это одни и теже ресурсы, то хп, точнее инструкции в хп, будут ждать снятия блокировок.
28 фев 05, 12:12    [1348889]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
параллельно, пока не будет конкурирующих транзакций
если процедура "в транзакции"(или можно сделать), те
create proc ...
as
begin tran
....
commit
то можно вначале захватить монопольно что-то ненужное ))
а если нет, то придётся где-то процессу отмечаться, что процедура занята
(тока черевато при сбое каком-нибудь не снятие отметки, что занята )
28 фев 05, 12:13    [1348896]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Talen
Member

Откуда: Санкт-Петербург
Сообщений: 409
A XP?
28 фев 05, 12:26    [1348972]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
аналогично
28 фев 05, 12:28    [1348986]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Talen
Member

Откуда: Санкт-Петербург
Сообщений: 409
Smirnov Anton
аналогично


Ну в XP хоть самому залочить можно. Только вот переменное число параметров не передать
28 фев 05, 12:31    [1349007]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Talen
Только вот переменное число параметров не передать


Массивы и Списки в SQL Server
28 фев 05, 13:14    [1349219]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Talen
Member

Откуда: Санкт-Петербург
Сообщений: 409
А как мне сделать следующую процедуру:
1. Очистить временную таблицу.
2. Залить в нее новые данные.
3. Обработать.

Ведь в этот процесс может вклиниться другой клиент и также удалить мои, еще не обработанные данные.
4 мар 05, 12:46    [1363216]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
Вклиниться всегда можно, если не включен single user mode
4 мар 05, 12:48    [1363223]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Glory
Member

Откуда:
Сообщений: 104760
Talen

Ведь в этот процесс может вклиниться другой клиент и также удалить мои, еще не обработанные данные.

Локальные временные таблицы(#) видны только коннекту, который их создал.
Об этом написано в BOL
4 мар 05, 12:49    [1363231]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Talen
Member

Откуда: Санкт-Петербург
Сообщений: 409
Alex Antonoff
Вклиниться всегда можно, если не включен single user mode


Хотя бы как залочить таблицу на время удаления-заливки-обработки данных.
4 мар 05, 12:50    [1363236]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
Talen
Alex Antonoff
Вклиниться всегда можно, если не включен single user mode


Хотя бы как залочить таблицу на время удаления-заливки-обработки данных.

Грязное чтение никто не отменял
Но если вы говорите о временной таблице, почему вы ее делите меж процессами ?
4 мар 05, 12:53    [1363261]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
Talen
Member

Откуда: Санкт-Петербург
Сообщений: 409
Alex Antonoff
...если вы говорите о временной таблице, почему вы ее делите меж процессами ?


Временная не в том плане, что #. Она постоянная, просто содержит временные данные.
4 мар 05, 13:04    [1363323]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
kto-to
Member

Откуда: Ukraine, Kyev
Сообщений: 835
begin tran  
select * from table1 with (TABLOCKX), tbl2 
пока не скажеш commit или RollBack
таблица tbl1 заблокирована текущим конектом
(пройдет только грязное чтение,
которым пользоваться не рекомендуют)
а вообще посмотри BOL по "FROM"
4 мар 05, 16:13    [1364508]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про ХП  [new]
tedy
Member

Откуда:
Сообщений: 83
А как мне сделать следующую процедуру:
1. Очистить временную таблицу.
2. Залить в нее новые данные.
3. Обработать.

Ведь в этот процесс может вклиниться другой клиент и также удалить мои, еще не обработанные данные.


Можно, например, в эту таблицу добавить поле spid = @@spid и обрабатывать всегда данные только со своим @@spid
4 мар 05, 19:09    [1365204]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить