![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакции в FireBird
Slider007 © (2007-05-03 07:47:00)Использую IBX.
Понадобилось мне в рамках одной транзакции в 2 таблицы данные добавить. Т.к. раньше ничего подобного не осуществлял, то естественно возник вопрос, а как правильно это сделать ?
Два вапианта:
1. Грубо говоря два IBSQL'я взять, прицепить к ним один IBTransaction, и последовательно выполнить запросы в обоих IBSQL'ях. После чего сказать Commit.
2. Взять ОДИН IBSQL, сначала выполнить в нем первый запрос, затем в нем же второй запрос. И опять же говорим Commit.
Вроде бы оба варианта имеют права на существование ? Может ещё 3-й существеут ?
Спасибо :)
atruhin (2007-05-03 16:03:00) [1]> [5] DrPass © (03.05.07 15:10)
Да именно так и делаю.
> Да еще бы запросы все были в одну короткую строчку для лучшей
> читабельности.
Запросы в 2-4 строки удобно. А длиньше предпочитаю поместить ХП,
в случае какой либо ошибки, модификации легче править.
DrPass (2007-05-03 15:10:00) [2]
> Если бы еще видеть сразу все места в коде, где перезаписывается
> запрос
А зачем их видеть-то? Запрос устанавливаешь непосредственно перед его выполнением, соответственно будет глубоко пофигу, где и как он может быть изменен
Sergey13 (2007-05-03 15:04:00) [3]> [3] atruhin © (03.05.07 14:48)
Если бы еще видеть сразу все места в коде, где перезаписывается запрос. Да еще бы запросы все были в одну короткую строчку для лучшей читабельности.
Не рекомендую. 8-)
atruhin (2007-05-03 14:48:00) [4]Я лично после долгих экспериментов пришел к варианту
> 2. Взять ОДИН IBSQL, сначала выполнить в нем первый запрос,
> затем в нем же второй запрос. И опять же говорим Commit.
для меня удобнее, когда к коде видишь запрос и тут же использование. Рекомендую.
Slider007 (2007-05-03 08:51:00) [5]Sergey13 © (03.05.07 8:49) [1]
На самом деле это один и тот-же вариант. Серверу по барабану сколько экземпляров компонента ты создал для выполнения запросов.
Понял, спасибо. Пошел дальше свою программу ваять :)
Sergey13 (2007-05-03 08:49:00) [6]> Может ещё 3-й существеут ?
Коллекцию собираешь?
> Вроде бы оба варианта имеют права на существование ?
На самом деле это один и тот-же вариант. Серверу по барабану сколько экземпляров компонента ты создал для выполнения запросов.