Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удалить незаблокированные записи [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 про версионность.


Наверх

Титульная страница Поиск, карта сайта Написать письмо