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

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

транзакции


NieL ©   (2012-11-06 16:35:00) 


Q.SQL.Add('START TRANSACTION ...');
Q.SQL.Add('CREATE TABLE ...');
Q.SQL.Add('INSERT...');
Q.SQL.Add('UPDATE...');
Q.SQL.Add('COMMIT FLUSH;');
Q.ExecSQL;


При возникновении ошибки изменения не откатываются (например, создалась таблица, а при insert возникла ошибка, таблица не удаляется). что я не так делаю?


Пупырышкин   (2012-11-07 15:55:00) [1]

Хотя... если всю логику загнать в хранимку, а с клиента только ее вызывать, то...


Пупырышкин   (2012-11-07 15:48:00) [2]


> И. Павел ©   (07.11.12 08:56) [6]
> А если между rollback и drop table полетит сеть?

То таблица не будет уничтожена. И это не является недостатком предложенной в [4] логики, поскольку, раз уж сеть полетела, то drop table не удастся сделать при любой логике.

Или Вы можете предложить вариант выполнения drop table при слетевшей сети?


И. Павел   (2012-11-07 08:56:00) [3]

> [4] Пупырышкин   (07.11.12 00:16)

А если между rollback и drop table полетит сеть?


И. Павел   (2012-11-07 08:55:00) [4]

На их сайте такой вопрос уже разбирался (40 сек. гугления):
http://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_general&msg=62116&page=17

ncompatible Operations
The following operations are not compatible with transactions and will cause a transaction to commit if encountered during a transaction.

•   Backing Up and Restoring Databases

•   Verifying and Repairing Tables

•   Creating and Altering Tables


Пупырышкин   (2012-11-07 00:16:00) [5]

create table
start transaction
try
 ...
 commit
except
 rollback
 drop table
end


AV   (2012-11-06 17:04:00) [6]

http://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_general&msg=56305&page=48


Niel   (2012-11-06 16:48:00) [7]


> DDL вне ранзакций?


СУБД DBISAM

не знаю, спецификации к СУБД нет


Inovet   (2012-11-06 16:42:00) [8]

DDL вне ранзакций?


Наверх

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