Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Параллельные транзакции, Как выполнить транзакции последовательно 
:(
    Опции темы
MrNoob
Дата 6.8.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.11.2009

Репутация: нет
Всего: нет



Есть две транзакции, которые только вставляют записи в одну таблицу.
Эти транзакции запускаются параллельно, но мне нужно, чтобы они выполнялись последовательно. Т.е. в таблице появились сначала записи первой, а потом второй, а не вперемешку. 

Т.е. чтобы первая транзакция заблокировала таблицу на вставку новых записей... как-то так.

Помогите, пожалуйста. 

Заранее благодарю =)
PM MAIL   Вверх
VirusUZ
  Дата 6.8.2010, 16:35 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



надо deny access  или  stored procedure

Это сообщение отредактировал(а) VirusUZ - 6.8.2010, 16:36
--------------------
Virus
PM MAIL   Вверх
MrNoob
Дата 6.8.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.11.2009

Репутация: нет
Всего: нет



По поводу "надо deny access", это в смысле забрать права на таблицу, а в конце отдать?
А по поводу  "или  stored procedure" совсем не понятно, можно поподробней, пожалуйста.
PM MAIL   Вверх
kobra
Дата 8.8.2010, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



Цитата(MrNoob @  6.8.2010,  14:10 Найти цитируемый пост)
Есть две транзакции, которые только вставляют записи в одну таблицу.

по подробнее пожалуста
Цитата(MrNoob @  6.8.2010,  14:10 Найти цитируемый пост)
Т.е. в таблице появились сначала записи первой, а потом второй, а не вперемешку. 

а если первая откатится?
Цитата(MrNoob @  6.8.2010,  17:15 Найти цитируемый пост)
А по поводу  "или  stored procedure" совсем не понятно, можно поподробней, пожалуйста. 

наверное имелос в виду запускать их из однои процедуры.
PM MAIL   Вверх
MrNoob
Дата 9.8.2010, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.11.2009

Репутация: нет
Всего: нет



Цитата(kobra @  8.8.2010,  18:58 Найти цитируемый пост)

по подробнее пожалуста


Есть код примерно следующего содержания:
Код

открыть транзакцию
вставляем данные
закрыть транзакцию


Вторая транзакция аналогична, но данные вставляются другие.

И возникает следующая ситуация:
  запускается 1 транзакция
  во время работы этой транзакции запускается 2ая

В таблицу физически будут вставлены данные вперемешку из первой и второй транзакции, а мне хотелось, чтобы вторая транзакция дождалась выполнения первой.

Я понимаю, что пытаться привязываться к физическому размещению данных в БД плохо, но такую я придумал задачку=)

И с её решением мне помогли. Для блокировки я использую функцию sp_getapplock.

Всем спасибо за помощь. 




PM MAIL   Вверх
Akina
Дата 9.8.2010, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(MrNoob @  9.8.2010,  22:29 Найти цитируемый пост)
В таблицу физически будут вставлены данные вперемешку из первой и второй транзакции

Нет. Учите матчасть.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.