Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

До какого момента откатится транзакция   Найти похожие ветки 

 
картман ©   (2010-06-21 13:35) [0]

выполняю процедуру: exec p_my_proc

create procedure p_my_proc
as
begin
 begin transaction

 insert into table1 (val)
   values (1)
 commit transaction
end;

на таблицу table1 есть триггер на вставку:
create trigger t_my_trigger on table1 after insert
as
begin
 exec p_another_proc
end;

create procedure p_another_proc
as
begin
...
end

если в p_another_proc произойдет ошибка и я в ней откачу транзакцию, откатятся ли изменения, сделанные p_my_proc?

MS SQL Server 2005


 
Sergey13 ©   (2010-06-21 14:42) [1]

По идее должна откатиться. Лень попробовать?
Использовать управление транзакциями в процедурах - не самая лучшая идея.


 
картман ©   (2010-06-21 15:03) [2]


> Sergey13 ©   (21.06.10 14:42) [1]


> По идее должна откатиться. Лень попробовать?

каюсь


> Использовать управление транзакциями в процедурах - не самая
> лучшая идея.

ээээ... а где ЕЩЕ ими управлять? И почему не лучшая? Как делаешь ты?


 
12 ©   (2010-06-21 15:23) [3]


> должна откатиться


 
Sergey13 ©   (2010-06-21 15:59) [4]

> [2] картман ©   (21.06.10 15:03)
> ээээ... а где ЕЩЕ ими управлять? И почему не лучшая? Как
> делаешь ты?

В клиенте, т.е. на самом верхнем уровне. Прикинь, что будет, если ты свою p_my_proc захочешь выполнить много раз подряд и в рамках единой транзакции.


 
Ega23 ©   (2010-06-21 16:04) [5]


> ээээ... а где ЕЩЕ ими управлять? И почему не лучшая? Как
> делаешь ты?


А в MSSQL необходимость использование триггера - вообще штука такая... весьма спорная, вобщем. Это в IB\FB триггеры штука действительно удобная и даже рекомендуемая (ИМХО, в основном из-за убогости ХП).
В MSSQL хранимкам несколько большую роль можно отвести, соответственно пропадает необходимость в триггерах (за ну очень редким исключением, мне за 8 лет работы с MSSQL попалась всего одна реальная задача, где триггер действительно был уместен).


 
картман ©   (2010-06-21 16:32) [6]


> Sergey13 ©   (21.06.10 15:59) [4]
>
> > [2] картман ©   (21.06.10 15:03)
> > ээээ... а где ЕЩЕ ими управлять? И почему не лучшая? Как
> > делаешь ты?
>
> В клиенте, т.е. на самом верхнем уровне.

думал, это моветон


> Прикинь, что будет, если ты свою p_my_proc захочешь выполнить
> много раз подряд и в рамках единой транзакции.

я так не умею(идеологически)


> Ega23 ©   (21.06.10 16:04) [5]


да я вообще противник триггеров - по ТЗ надо именно его впендюрить



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.094 c
2-1339141857
Александр_2012
2012-06-08 11:50
2013.03.22
Об управлении монитором


2-1332061177
rey4eg
2012-03-18 12:59
2013.03.22
Помогите Срочно Пожалуйста


2-1348217897
noob_one
2012-09-21 12:58
2013.03.22
Помогите сконвертировать строку


15-1338356867
AV
2012-05-30 09:47
2013.03.22
Наглядно изобразить ход работы графиком


8-1226478640
kalexi
2008-11-12 11:30
2013.03.22
Изменить размер изображения на низком уровне и без сглаживания





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский