|
|
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
В процедурах/тригерах разве commit и rollback делать нельзя? IB что то ругается. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 08:41 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Скорее всего только After, хотя для полноты картины используйте Exception и перехват исключения из приложения, так пользователь узнает что его действия отменены, а иначе при откате транзакции как вы сообщите пользователю что его действия неправильны, либо если вам просто не нужно изменять какие-то поля автоматически то New.FieldName = Old.FieldName, и никаких транзакций в триггерах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 09:21 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Мне требуется обновлять значения не в той таблице, на которой сидит тригер. А пользователю, по моей бизнес логике, знать о том, что произошел откат этой транзакции знать совсем не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 09:38 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Извращенная бизнес-логика, IMHO. Если не хочешь, чтобы клиент знал о транзакциях, делай трехзвенку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 10:51 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
В процедурах/тригерах разве commit и rollback делать нельзя? Нельзя! Ограничения на принципиальном уровне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 10:54 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Уважаемый Лебедкин, если вам необходимо откатить транзакцию в триггере, то у вас ни как не получится изменить поля в самой таблице, изменения тоже откатяться, если не нужно чтоб пользователь знал, то тут New.FieldName = Old.FieldName. а в чтоб в друггом месте не происходило по регулируйте ХП вызываемой из триггера, если же это тоже не подходит то тогда триггера с ХП и таблицами в студию и полное объяснение требований. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 18:25 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
В роли клиента сдесь у меня выступает служебная прога выполняющая обновление БД по событиям от радиостанции. Сейчас, в общем, я так и сделал: управляю транзакциями на стороне клиента. Просто при проектировании системы мне хотелось сделать клиента по работе c IB максимально тонким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 10:21 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Тогда в самом деле лучше юзать трехзвенку, как советовал dmitr . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 10:59 |
|
||
|
Управление транзакциями в ХП
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю ХП полностью выполняется в контексте транзакции, в которой стартовала, то есть она лежит 'внутри' транзакции и управлять ею в принципе не может. Просто тогда бы часть кода ХП после коммита выполнялась без транзакции вовсе) Что вообще противоречит содержанию понятия транзакции.. С тригером видимо то же - он ведь принадлежит транзакции, в которой выполнялись операции, к которым привязан триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 17:09 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=487&tid=1579272]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 368ms |

| 0 / 0 |
