![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить незаблокированные записи [D7, FB 1.5]
Ярослав © (2005-11-24 09:24:00)Как мне в ХП или Триггере удалить только те записи в таблице которые не заблокированны другими пользователями.
Ведь если просто написатьdelete from mytableа в это время заблокированна хотябы одна запись, то вся уданения операция откатится.
Ярослав (2005-11-24 11:00:00) [1]Ну да точно Firebird-1.5.0.4306
Сейчас конечно по свежее вроде есть, но у меня под этим 4 сервера стоят и все работает без глюков, не хотел пока переставлять
Виталий Панасенко (2005-11-24 10:56:00) [2]У FIBPlus можно так:
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
with Database1 do
begin
for I := 0 to UserNames.Count - 1 do
Memo1.Lines.Add(UserNames.Strings[I]);
Memo1.Lines.Add(DBFileName);
Memo1.Lines.Add(IntToStr(Fetches));
Memo1.Lines.Add(IntToStr(CurrentMemory));
end;
end;
У IBX кажись аналогично
Sergey13 (2005-11-24 10:51:00) [3]2 [9] Ярослав (24.11.05 10:42)
А у тебя точно ФБ1.5? У меня вроде работает нормально.
Виталий Панасенко (2005-11-24 10:49:00) [4]А почему АПИ не использовать и не смотреть, кто уже подключен к БД ?
Ярослав (2005-11-24 10:42:00) [5]Запрос
select * from MyTable for updateв IB Expert при выполнении ни каких ошибок не вызывает и вроде выполняеться, но результата не возращает и даже заголовки полей не выводятся на экран
Sergey13 (2005-11-24 10:25:00) [6]2[6] Ярослав (24.11.05 10:13)
Что то я не понял - чего выполняется, чего не выводится?
Ярослав (2005-11-24 10:13:00) [7]Выполняться выполняеться в IB EXPERT на ошибки не ругаеться но ничего не возвращает, пустоту, т.е. даже заголовки столбцов не выводит. И даже когда записи уже на заблокированны
Ярослав (2005-11-24 10:13:00) [8]Выполняться выполняеться в IB EXPERT на ошибки не ругаеться но ничего не возвращает, пустоту, т.е. даже заголовки столбцов не выводит. И даже когда записи уже на заблокированны
Sergey13 (2005-11-24 09:59:00) [9]Тогда пробуй сам заблокировать строку. Select For Update вроде работает в поторашке. Если получилось - грохай.
Ярослав (2005-11-24 09:48:00) [10]Я монитор пользователей пишу, пользователь зарегистрировавшись в БД, оставляет в таблице истории подключений свою запись, а выходя из программы он помечает что он вышел, и можно смотреть когда он запускал свою программу, и кто в данный момент с ней работает. Но если в какойто момент что то повиснет, шнур сетевой оборветься или свет выключат то он так и не сможет сообщить что вышел он и его запись так и останеться активной.
И надо что бы любой другой клиент например при запуске и еще когда ему это надо обновлял, таблицу с активными пользователеми, т.е. помечал ьы как не активые тех которые вылители и сами не смогли этого сделать
Sergey13 (2005-11-24 09:30:00) [11]2Ярослав (24.11.05 09:24)
ДБ-вирус пишешь? 8-)
Виталий Панасенко (2005-11-24 09:29:00) [12]Так и должно быть... Все совершается в контексте транзакции.. "Или все, или ничего"... И смысл подобного извращения ?..
Johnmen (2005-11-24 09:28:00) [13]Никак.
Читать на ibase.ru про версионность.