Форум: "Начинающим";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
Внизтранзакции Найти похожие ветки
← →
NieL © (2012-11-06 16:35) [0]
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 возникла ошибка, таблица не удаляется). что я не так делаю?
← →
Inovet © (2012-11-06 16:42) [1]DDL вне ранзакций?
← →
Niel © (2012-11-06 16:48) [2]
> DDL вне ранзакций?
СУБД DBISAM
не знаю, спецификации к СУБД нет
← →
AV © (2012-11-06 17:04) [3]http://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_general&msg=56305&page=48
← →
Пупырышкин (2012-11-07 00:16) [4]create table
start transaction
try
...
commit
except
rollback
drop table
end
← →
И. Павел © (2012-11-07 08:55) [5]На их сайте такой вопрос уже разбирался (40 сек. гугления):
http://www.elevatesoft.com/forums?action=view&category=dbisam&id=dbisam_general&msg=62116&page=17ncompatible 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 08:56) [6]> [4] Пупырышкин (07.11.12 00:16)
А если между rollback и drop table полетит сеть?
← →
Пупырышкин (2012-11-07 15:48) [7]
> И. Павел © (07.11.12 08:56) [6]
> А если между rollback и drop table полетит сеть?
То таблица не будет уничтожена. И это не является недостатком предложенной в [4] логики, поскольку, раз уж сеть полетела, то drop table не удастся сделать при любой логике.
Или Вы можете предложить вариант выполнения drop table при слетевшей сети?
← →
Пупырышкин (2012-11-07 15:55) [8]Хотя... если всю логику загнать в хранимку, а с клиента только ее вызывать, то...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c