![]() |
|
Модераторы: Akina |
![]()
|
|
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
Здравствуйте.
Я новичок и возник важный вопрос,нуждаюсь в вашей помощи,эксперты. Мне надо,чтобы во время заполнения данными таблицы либо выполнения процедуры по выборке и заполнению данными таблицы,никто другой не мог редактировать либо запускать эту же процедуру.Вопрос кажется простым,но нужен ликбез.Как можно административно либо программно реализовать такой запрет? спасибо за внимание -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| SharedNoob |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.6.2007 Где: UA Репутация: 2 Всего: 5 |
Думаю ничего сложного нет. Добавляем таблицу в бд, с некоторым набором полей, включающим в себя и имя объекта (процедуры, таблицы).
В начале кажной процедуры вставляем обработку, тобиш вставку (если в таблице еще нет такого имени объекта) или же изменение статуса (в том случае если статус процедуры не активный, иначе на выход) объекта, ну и в конце процедуры естественно обратное изменение статуса этого же объекта. То есть в начале работы меняем на активный, в конце работы на не активный. Ну а далее 1 человек запускает процедуру, она изменяем свой статус на активынй в созданной нами таблице. Процедура работает. Второй запускает ее же. Идет проверка статуса, запущено, выходит из процедуры. Заканчивает роботу процедура которую запустил 1-й пользователь, она в конце своей работы меняет свой статус на не активен. И уже кто-то другой может ее запустить. По поводу таблиц, Нечто такое же можно организовать на уровне триггеров. p.s. Мне не понятно другое, не ошибаетесь ли вы в постановке своей задачи? мне кажется что всего этого можно избежать. опишите задачу. |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
Как вариант конечно возможно, но надо доработать с учётом описанной мною выше ситуации. ЗЫ. Просто были такие грабли, правда не на MS-SQL сервере. |
|||
|
||||
| SharedNoob |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.6.2007 Где: UA Репутация: 2 Всего: 5 |
Хм есть сомнения на счет "Техничка". Процедура запускается на выполнение со стороны сервера. И выполняется на сервере. А значит что даже юзверь получит дисконект, процедура по идеи должна дойти до своего логического завершиеня !
Это сообщение отредактировал(а) SharedNoob - 6.3.2008, 10:40 |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |