|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Привет, раньше имел дело с Firebird, где транзакции прописывают (по крайне мере я прописывал :) ) явно. И с MySQL на сайте, где вообще без транзакций было. Сейчас имею дело с программами, которые работают с MS SQL Server. Насколько я смутно припоминаю, в нем есть что-то насчет неявных транзакций, которые имплицитно (сами, ты этого не делаешь явно) стартуются и заканчиваются. Короче я в коде не вижу ничего про транзакции. И сам что-то делал, менял, как-то ничего про них не делал тоже. Да, программа на Delphi, компоненты для доступа - dbGo (обертка вокруг ADO). Сейчас мне надо сделать несколько последовательных действий, которые хотелось бы выполнить в одной транзакции, чтобы или выполнить всё или откатить всё. Я вижу у компонента TAdoConnection методы BeginTrans, CommitTrans, RollbackTrans. В принципе понятно, что писать. Но вот такой вопрос, а как это будет взаимодействовать с другими процедурами, которые с неявными (или неявной) транзакциями? Будет ли всё остальное, то, что работало до этого, работать нормально, если я напишу что-то типа Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Понятно, что можно поэкспериментировать, но так, теоретически, кто-нибудь может сказать что-то про это? ... |
|||
:
Изменено: 18.04.2023, 17:33 - s62
Нравится:
Не нравится:
|
|||
18.04.2023, 17:28 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
s62 [игнорируется] почитал вот это https://learn.microsoft.com/ru-ru/sql/t-sql/language-elements/transactions-transact-sql?view=sql-server-ver16 похоже, что должно работать, что следующий запрос автоматически стартует новую транзакцию. ... |
|
:
|
|
18.04.2023, 17:36 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 09:05 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Rollbac transaction ... |
|||
:
Изменено: 19.04.2023, 09:30 - PaNik
Нравится:
Не нравится:
|
|||
19.04.2023, 09:29 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 11:35 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Работает нормально, после выполнения этого другие процедуры тоже нормально пишут данные в БД. Единственное, не помню точно, сталкивался с этим раньше или нет, думал, что в самой Delphi это не нужно: имена параметров хп начинаются с @. Сначала попробовал без @ вот так (изменил в примере название хп и параметра, типа соглашение о нераспространении :) ): Код: Delphi 1.
Код: Delphi 1.
... |
|||
:
Изменено: 19.04.2023, 15:33 - s62
Нравится:
Не нравится:
|
|||
19.04.2023, 15:32 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Работает нормально, после выполнения этого другие процедуры тоже нормально пишут данные в БД. Единственное, не помню точно, сталкивался с этим раньше или нет, думал, что в самой Delphi это не нужно: имена параметров хп начинаются с @. Сначала попробовал без @ вот так (изменил в примере название хп и параметра, типа соглашение о нераспространении :) ): Код: Delphi 1.
Код: Delphi 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 15:37 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. ... |
|
:
|
|
19.04.2023, 16:12 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. ... |
|
:
|
|
19.04.2023, 16:14 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:16 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:19 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... На стороне сервера там может быть много вложенных процедур. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:20 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
... На стороне сервера там может быть много вложенных процедур. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|
:
|
|
19.04.2023, 16:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:22 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
... Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. И их разработчиков. Вот им надо запретить. Делать транзакции. ... |
|
:
|
|
19.04.2023, 16:23 |
|
Транзакции в MS SQL Server
#363019
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
Ссылка на вложение 2:
|
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Главное понимать , что нет вложенных транзакций. При таком подходе. В стэке xp не надо использовать Begin transaction Commit transaction Rollbac transaction Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. ... |
|||||||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||||||
19.04.2023, 16:25 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Кстати в субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры. Спасибо за подсказку. Ну, я такое вроде и не собирался делать, теперь тем более буду знать. ) У меня по плану (надо вот сегодня дописать и потестировать), там один запрос и одна ХП выполняются. Ну вот перед этим соответстенно вручную собираюсь стартовать транзакцию, а в конце завершать или откатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:26 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В ms sql нет вложенных транзакций, есть извращённые способы это обойти. Но это не вечно. Не честно. Например каждый раз его проверять? Это. От очень-очень старых версий сибайз осталось. Изврат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:26 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
там русским по-белому про @@trancount написано Например каждый раз его проверять? Это. От очень-очень старых версий сибайз осталось. Изврат. procerdure <proc_name> <параметры> as begin begin try -- тут объявляем переменные, временные таблицы и т.п. -- тут всякие прочие операции (заполнение/модификация данных во времянках и т.п.) -- ... (возможно еще что-то) -- тут (в конце процедуры) - финальная модификация данных begin tran ... -- модифицируем данные commit tran; end try begin catch if @@trancount > 0 roolback; ... end catch; end; go ... |
|
:
|
|
19.04.2023, 16:31 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
прочитай книжку (можно выборочно) по моей ссылке - хоть и по древней версии - понимание работы сервака организует ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:39 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну и что? Знаю такой счётчик. Что это меняеет? Например каждый раз его проверять? Это. От очень-очень старых версий сибайз осталось. Изврат. procerdure <proc_name> <паратметры> as begin begin try begin tran ... -- commit tran; end try begin catch if @@trancount > 0 roolback; ... end catch; end; go Везде и всегда копировать этот код На каждой процедуре.? Нет вложенных транзакций. Надо где-то начать и закончить. Или откатить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:41 |
|
Транзакции в MS SQL Server
#363037
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
прочитай книжку (можно выборочно) по моей ссылке - хоть и по древней версии - понимание работы сервака организует ... |
||||||||||||||||
:
|
||||||||||||||||
19.04.2023, 16:44 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну и что? Знаю такой счётчик. Что это меняеет? Например каждый раз его проверять? Это. От очень-очень старых версий сибайз осталось. Изврат. procerdure <proc_name> <паратметры> as begin begin try begin tran ... -- commit tran; end try begin catch if @@trancount > 0 roolback; ... end catch; end; go И добротный код везде дублируешь. Дибильный код всегда и везде. Зачем? ... |
|||
:
Изменено: 19.04.2023, 16:51 - Sparrow
Нравится:
Не нравится:
|
|||
19.04.2023, 16:48 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
всегда писал примерно так (тут совсем пседокод): procerdure <proc_name> <паратметры> as begin begin try begin tran ... -- commit tran; end try begin catch if @@trancount > 0 roolback; ... throw @@error_number, @@error_message, 1; end catch; end; go И добротный код везде дублируешь. Дибильный код всегда и везде. P.S. выдел жирным то, что забыл указать изначально ... |
|||
:
Изменено: 19.04.2023, 16:54 - PaNik
Нравится:
Не нравится:
|
|||
19.04.2023, 16:53 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Например каждый раз его проверять? Это. От очень-очень старых версий сибайз осталось. Изврат. procerdure <proc_name> <паратметры> as begin begin try begin tran ... -- commit tran; end try begin catch if @@trancount > 0 roolback; throw @@error_number, @@error_message, 1; end catch; end; go И добротный код везде дублируешь. Дибильный код всегда и везде. P.S. выдел жирным то, что забыл указать изначально ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:56 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 16:59 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:08 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. Sql это другое. К стати транзакции стали использовать в процессорах. Там тоже есть проблемы когда много ядер и потоков. А семафоры не катят. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:15 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:16 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. Sql это другое. К стати транзакции стали использовать в процессорах. Там тоже есть проблемы когда много ядер и потоков. А семафоры не катят. ... |
|
:
|
|
19.04.2023, 17:27 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. ... |
|
:
|
|
19.04.2023, 17:27 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. Sql это другое. К стати транзакции стали использовать в процессорах. Там тоже есть проблемы когда много ядер и потоков. А семафоры не катят. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:34 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
У вас там ни бригады нет и начальника. Ты ВВ вакууме живёшь? Нет в ms sql вложенных транзакций. Вы там что не можете договориться кто первый начнет транзаацию? Нах эти дибильные проверки? Их будет больше чем реального кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:36 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Парик прикольный. Стал много текста писать. ... |
|||
:
Изменено: 19.04.2023, 17:41 - Sparrow
Нравится:
Не нравится:
|
|||
19.04.2023, 17:39 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
... Sql это другое. К стати транзакции стали использовать в процессорах. Там тоже есть проблемы когда много ядер и потоков. А семафоры не катят. ... |
|
:
|
|
19.04.2023, 17:41 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Парик прикольный. Стал много текста писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:41 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
походу, Воробушек уже принял грамм 300 водочки ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:42 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
с учетом часовых поясов ничего против не имею возразить ... |
|
:
|
|
19.04.2023, 17:44 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Мне то, что просто нет вложенных транзакций в ms sql это грусно но понятно. Потому что декларативная система. Это не повторно испольуемеме коды как в си или в ассемблере. Они и так в планах процедур повторно используются и на ходу оптимизируются. Сказал хочу, тото и это а как не ебет. А некоторые хотят сказать как и ещё на каждом шагу, а вдруг не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 17:51 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Try catch это вообще синтаксисический сахар. Вот расширения sql вещь ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:02 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Мне то, что просто нет вложенных транзакций в ms sql это грусно но понятно. Потому что декларативная система. Это не повторно испольуемеме коды как в си или в ассемблере. Они и так в планах процедур повторно используются и на ходу оптимизируются. Сказал хочу, тото и это а как не ебет. А некоторые хотят сказать как и ещё на каждом шагу, а вдруг не получится? про "Это не повторно испольуемеме коды как в си или в ассемблере" - круто, оптимально по ряду параметров, но "в действительности все не так, как на самом деле" - оптимизатор выбирает примерно оптимальный план. нет вложенных транзакций - все описано, не поверите - в официальной документации. в планах процедур много чего кешируются, а том числе про sniffering и т.д. ... |
|||
:
Изменено: 19.04.2023, 18:04 - PaNik
Нравится:
Не нравится:
|
|||
19.04.2023, 18:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Мне то, что просто нет вложенных транзакций в ms sql это грусно но понятно. Потому что декларативная система. Это не повторно испольуемеме коды как в си или в ассемблере. Они и так в планах процедур повторно используются и на ходу оптимизируются. Сказал хочу, тото и это а как не ебет. А некоторые хотят сказать как и ещё на каждом шагу, а вдруг не получится? про "Это не повторно испольуемеме коды как в си или в ассемблере" - круто, оптимально по ряду параметров, но "в действительности все не так, как на самом деле" - оптимизатор выбирает примерно оптимальный план. нет вложенных транзакций - все описано, не поверите - в официальной документации. в планах процедур много чего кешируются, а потм вопросы про sniffering и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:06 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Это не повторно испольуемеме коды как в си или в ассемблере. Они и так в планах процедур повторно используются и на ходу оптимизируются. Сказал хочу, тото и это а как не ебет. А некоторые хотят сказать как и ещё на каждом шагу, а вдруг не получится? про "Это не повторно испольуемеме коды как в си или в ассемблере" - круто, оптимально по ряду параметров, но "в действительности все не так, как на самом деле" - оптимизатор выбирает примерно оптимальный план. нет вложенных транзакций - все описано, не поверите - в официальной документации. в планах процедур много чего кешируются, а потм вопросы про sniffering и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:08 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Это не повторно испольуемеме коды как в си или в ассемблере. Они и так в планах процедур повторно используются и на ходу оптимизируются. Сказал хочу, тото и это а как не ебет. А некоторые хотят сказать как и ещё на каждом шагу, а вдруг не получится? про "Это не повторно испольуемеме коды как в си или в ассемблере" - круто, оптимально по ряду параметров, но "в действительности все не так, как на самом деле" - оптимизатор выбирает примерно оптимальный план. нет вложенных транзакций - все описано, не поверите - в официальной документации. в планах процедур много чего кешируются, а потм вопросы про sniffering и т.д. Это ты шумишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:12 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Можно его забанить? Надо сделать в первый раз? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:14 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... про "Это не повторно испольуемеме коды как в си или в ассемблере" - круто, оптимально по ряду параметров, но "в действительности все не так, как на самом деле" - оптимизатор выбирает примерно оптимальный план. нет вложенных транзакций - все описано, не поверите - в официальной документации. в планах процедур много чего кешируются, а потм вопросы про sniffering и т.д. Это ты шумишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:14 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Пользователи заблокированы в теме: PaNik. ... |
|||
Sparrow:
Пользователи заблокированы в теме: PaNik.
Нравится:
Не нравится:
|
|||
19.04.2023, 18:18 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
За флуд ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:19 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:20 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я спокоен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:20 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
предлагаю отнять у Воробушка модерилку от форума! ибо он не адекватен ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры ... |
|||
:
Изменено: 19.04.2023, 18:23 - Ифрит
Нравится:
Не нравится:
|
|||
19.04.2023, 18:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Трезвый ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я спокоен. это критика! ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:22 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Трезвый ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:22 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
предлагаю отнять у Воробушка модерилку от форума! ибо он не адекватен ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:22 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
тогда сними бан с Паника, а потом попросим Базяна убрать с тебя ношу модератора СКЛ форума ... |
|||
дед-пердед
:
Изменено: 19.04.2023, 18:24 - Гарыныч
Нравится:
Не нравится:
|
|||
19.04.2023, 18:23 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Нет ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 18:25 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
субд Firebird в PSQL вообще нельзя использовать управление транзакциями, в смысле start, commit, rollback transaction. Предполагается, что хп выполняется в контексте транзакции, которая стартуется и коммитится или откатывается извне процедуры ... |
|||
:
Изменено: 19.04.2023, 18:29 - s62
Нравится:
Не нравится:
|
|||
19.04.2023, 18:27 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Парни, всем спасибо, и Панику, и Воробью - за ответы, и Гарынычу за поддержку разговора. Не ругайтесь в этой теме, плз. ... |
|
:
|
|
19.04.2023, 18:27 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Не понимаю паника. Есть приложение оно работает , под ms sql. Годами . Заходишь в него и никто раньше тебя не догадался написать begin tansaction.? И на каждый Чих проверять? Try cath или @@traycount. Это надо забыть о основном коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 19:16 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Видел такую штуку. Переменные таблицы не подверженным транзакциям. Значит можно попробовать сложные , готовые расчеты, результат записать в переменную таблицу А потом сказать rollback tran. И результат в @табл ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2023, 20:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Видел такую штуку. Переменные таблицы не подверженным транзакциям. Значит можно попробовать сложные , готовые расчеты, результат записать в переменную таблицу А потом сказать rollback tran. И результат в @табл а запись в переменные таблицы? блокируют транзакциями? ... |
|||
дед-пердед
:
Изменено: 19.04.2023, 20:39 - Гарыныч
Нравится:
Не нравится:
|
|||
19.04.2023, 20:38 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Видел такую штуку. Переменные таблицы не подверженным транзакциям. Значит можно попробовать сложные , готовые расчеты, результат записать в переменную таблицу А потом сказать rollback tran. И результат в @табл ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
19.04.2023, 20:39 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Видел такую штуку. Переменные таблицы не подверженным транзакциям. Значит можно попробовать сложные , готовые расчеты, результат записать в переменную таблицу А потом сказать rollback tran. И результат в @табл ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 05:06 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
табличные переменные действительно не поддерживают транзакции еще у них нет статистики так что план приходится прибивать гвоздами хинтами ... |
|
:
|
|
20.04.2023, 05:50 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Я бы профильного разработчика, из коих здесь не так много желающих писать в тематических форумах, не стал бы банить в тематическом форуме. ... |
|
:
|
|
20.04.2023, 08:34 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В Firebird все транзакции явные (или я так ошибочно думал до сих пор, но всегда в IBX их стартовал и т.д.) То что ты их стартовал явно, не говорит о том, что там только явные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 08:56 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Так и разбань. Кто мешает? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 09:45 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Три дебила , четыре. Это сила. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 09:48 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Профильный топик , а паник явно тролил. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 10:07 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В Firebird все транзакции явные (или я так ошибочно думал до сих пор, но всегда в IBX их стартовал и т.д.) То что ты их стартовал явно, не говорит о том, что там только явные транзакции. В документации Firebird ничего такого нет. Транзакция настраивается и запускается командой set transaction https://www.firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/fblangref40-transacs.html Другое дело, что из клиентского приложения мы с БД можем работать через те или иные компоненты доступа к БД. И в этих компонентах тразнакции могут стартоваться автоматически. Но это не особенность Firebird, а особенность компонентов доступа. Ты это имел в виду или что-то другое? Можно наверное отделить в раздел FB. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 11:00 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В Firebird все транзакции явные (или я так ошибочно думал до сих пор, но всегда в IBX их стартовал и т.д.) То что ты их стартовал явно, не говорит о том, что там только явные транзакции. В документации Firebird ничего такого нет. Транзакция настраивается и запускается командой set transaction https://www.firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/fblangref40-transacs.html Другое дело, что из клиентского приложения мы с БД можем работать через те или иные компоненты доступа к БД. И в этих компонентах тразнакции могут стартоваться автоматически. Но это не особенность Firebird, а особенность компонентов доступа. Ты это имел в виду или что-то другое? Можно наверное отделить в раздел FB. Посоветовал, не больше, паник развел флуд. Грынычу скучно. Все нормально Твой код правильный. ... |
|||
:
Изменено: 20.04.2023, 11:11 - Sparrow
Нравится:
Не нравится:
|
|||
20.04.2023, 11:07 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Нет в sql вложенных транзакций всем хочется , а их нет. Просто вы усложняете код. Дибильными проверками. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 11:25 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Профильный топик , а паник явно тролил. ... |
|
:
|
|
20.04.2023, 12:17 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В документации Firebird ничего такого нет. Транзакция настраивается и запускается командой set transaction https://www.firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref40/fblangref40-transacs.html А теперь сделай update записей и в конце напиши commit. И расскажи нам здесь, какая это была транзакция и была ли она вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 12:58 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Другое дело, что из клиентского приложения мы с БД можем работать через те или иные компоненты доступа к БД. И в этих компонентах тразнакции могут стартоваться автоматически. Но это не особенность Firebird, а особенность компонентов доступа. Ты это имел в виду или что-то другое? Запусти в консольной утилите update. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 12:59 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Горбатый ёж [игнорируется] В консоли транзакция стартует автоматически, но это делает сама консоль, сама утилита. Цитата [игнорируется] In isql, a transaction is begun as soon as the utility is started. The transaction is begun in SNAPSHOT isolation, with a lock resolution set to WAIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 13:11 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А ещё должны быть мозги. В РСУБД все DML выполняются в контексте транзакции, стартовал её разработчик или нет. И Firebird не исключение. А возможность стартовать транзакции с использованием компонент доступа не говорит о том, что без явного старта транзакции компоненты там сами что-то волшебным образом стартуют. Да и доступ к БД осуществляется далеко не всегда через какие-то там компоненты, ибо есть ещё драйверы типа JDBC и API в конце концов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 13:12 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
консоли транзакция стартует автоматически, но это делает сама консоль, сама утилита. Что происходит после выполнения в консоли rollback? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 13:13 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Так и разбань. Кто мешает? ... |
|
:
|
|
20.04.2023, 13:56 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Профильный топик , а паник явно тролил. зы: тут Паник и Воробей заспорили про транзакции...., и где тут троллинг? ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
20.04.2023, 14:02 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Профильный топик , а паник явно тролил. зы: тут Паник и Воробей заспорили про транзакции...., и где тут троллинг? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 14:34 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Профильный топик , а паник явно тролил. зы: тут Паник и Воробей заспорили про транзакции...., и где тут троллинг? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 14:35 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Где был не прав? Просто интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 15:28 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Технически нагнетать хорошо сайту. Больше внимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 15:30 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Где был не прав? Просто интересно. ... |
|||
:
Изменено: 20.04.2023, 15:32 - Горбатый ёж
Нравится:
Не нравится:
|
|||
20.04.2023, 15:32 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Профильный топик , а паник явно тролил. зы: тут Паник и Воробей заспорили про транзакции...., и где тут троллинг? зы: Воробья тож уважаю! мана и Паника уважаю.... Админ, разыгнорь и всё ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
20.04.2023, 15:36 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Если надо выполнить несколько операторов, то их надо обернуть в xp. В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции ... |
|
:
|
|
20.04.2023, 16:52 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Открывать и закрывать транзакции на клиенте - дурной тон. Как с вами тяжело... ... |
|
:
|
|
20.04.2023, 16:56 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще один решил потролить? По существу возражения есть? Как радостно открывать транзакции на клиенте? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 17:04 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
По существу возражения есть? При этом оба процесса могут быть запущены на одном клиенте. Давай, расскажи где ты будешь стартовать транзакции, если не на клиенте. Хотя ты наверное скажешь, что не надо стартовать, достаточно зафиксировать изменения. Только вопрос, насколько ты уверен с том, что в текущей транзакции не были внесены ранее каким либо изменения помимо интересующего бизнес процесса. И ещё как ты будешь обрабатывать ошибки и насколько хорошо будет видно по коду в каком процессе возникает ошибка? ... |
|||
:
Изменено: 20.04.2023, 17:16 - Горбатый ёж
Нравится:
Не нравится:
|
|||
20.04.2023, 17:15 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Просто клиентов может быть много, и везде транзакции начнутся, а потом. Рооллбаск. Это дороже , чем соммит. Но вечные проверки, ещё хуже. Вы видели трассировку,? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 17:53 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
По существу возражения есть? При этом оба процесса могут быть запущены на одном клиенте. Давай, расскажи где ты будешь стартовать транзакции, если не на клиенте. Хотя ты наверное скажешь, что не надо стартовать, достаточно зафиксировать изменения. Только вопрос, насколько ты уверен с том, что в текущей транзакции не были внесены ранее каким либо изменения помимо интересующего бизнес процесса. И ещё как ты будешь обрабатывать ошибки и насколько хорошо будет видно по коду в каком процессе возникает ошибка? Создаю три ХП. Потом создаю еще две. В одной вызываются две из трех, в другой - все три ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 19:13 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 19:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть ... |
|||
:
Изменено: 20.04.2023, 19:54 - Ифрит
Нравится:
Не нравится:
|
|||
20.04.2023, 19:53 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть Во-вторых, кто мешает написать комментарии? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 20:10 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть Во-вторых, кто мешает написать комментарии? а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг )) ... |
|||
:
Изменено: 20.04.2023, 20:27 - Ифрит
Нравится:
Не нравится:
|
|||
20.04.2023, 20:26 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В одной вызываются две из трех, в другой - все три ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 20:33 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В одной вызываются две из трех, в другой - все три Получаем XP1, XP2, XP3 Создаем XP4, в нем вызываются XP1, XP2, XP3 Создаем XP5, в нем вызываются XP1, XP2 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:20 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть Во-вторых, кто мешает написать комментарии? а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг )) Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Кстати, и внутри XP тоже можно комменты писать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:26 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Во-вторых, кто мешает написать комментарии? а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг )) Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Кстати, и внутри XP тоже можно комменты писать а тут, кмк, с нагромождением новых разруливвающих процедур, речь идёт об "ещё одном клиентском" уровне на серверной стороне. и такие городушки косвености, это снова и опять вот та самая лапшичка, хоть аргументы к сему "а не перекомпилировать код программы и устанавливать обновления пользователям" и понятны, но.. линейный бифштекс в поддержке и развитии проще и перспективней, имхо ... |
|||
:
Изменено: 20.04.2023, 21:44 - Ифрит
Нравится:
Не нравится:
|
|||
20.04.2023, 21:40 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:51 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур if именно с целью "частичного" - повезло, не доводилось встречать такого хотя... было, возможно, что и - близко: если аргумент истина, то выполняем всё, иначе - то выводим только диагностику но, мотивом к этому было не частичное выполнение бизнеслогики, а те if-чики были внедрены только для повторного использования кода как я понял, выше ты не о подобном случае писал ... |
|||
:
Изменено: 20.04.2023, 22:15 - Ифрит
Нравится:
Не нравится:
|
|||
20.04.2023, 22:13 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В одной вызываются две из трех, в другой - все три Получаем XP1, XP2, XP3 Создаем XP4, в нем вызываются XP1, XP2, XP3 Создаем XP5, в нем вызываются XP1, XP2 Код потом такой разбирать просто чудесно. Но ещё раз вопрос, в чём ты эти процедуры запускать будешь? Уж не в транзакциях ли? А как ты можешь быть уверен, что у тебя в рамках транзакции выполнена только одна и нужная процедура? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 22:21 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 23:57 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 00:00 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 07:07 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Если нужна транзакция, то нужно делать явную. А насчет того что нет вложенных транзакций, так их нигде нет. А там где якобы есть (типа автономные), так это уже и не транзакции, так как нарушаются принципы ACID. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 08:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 08:26 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну это по крайней мере режим по умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 08:33 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну это по крайней мере режим по умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 08:35 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну это по крайней мере режим по умолчанию. Ну а чего там обалдеть, просто учитывать этот факт. ... |
|||
:
Изменено: 21.04.2023, 08:39 - Неуловимый Джо
Нравится:
Не нравится:
|
|||
21.04.2023, 08:37 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ну а чего там обалдеть, просто учитывать этот факт. Обычно в процедуру объединяются действия, которые необходимо выполнить за раз, соответственно при ошибке в одном из них откатить все остальные изменения. А тут как-то неожиданно получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 08:40 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:08 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:08 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:30 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В одной вызываются две из трех, в другой - все три Получаем XP1, XP2, XP3 Создаем XP4, в нем вызываются XP1, XP2, XP3 Создаем XP5, в нем вызываются XP1, XP2 Код потом такой разбирать просто чудесно. Но ещё раз вопрос, в чём ты эти процедуры запускать будешь? Уж не в транзакциях ли? А как ты можешь быть уверен, что у тебя в рамках транзакции выполнена только одна и нужная процедура? Ну назови XP4 PizdecAndBliat , а XP5 - PizdecOnly Я уже писал, что открытие транзакции будут обеспечивать сами хранимые процедуры. Любая ошибка любого запроса внутри ХП, в том числе и выполнения другой хранимой процедуры, вызывает откат действий всей хранимой процедуры. То есть в теле хранимой процедуры XP4 конечно можно написать: Код: SQL 1. 2. 3. 4. 5.
Мы ведь про MS SQL говорим? В других СУБД может быть и не так, я не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:30 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:31 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:31 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:33 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:40 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. Ладно не важно, не хочешь признавать ошибку ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:45 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:50 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. Ладно не важно, не хочешь признавать ошибку ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:51 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:52 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. Ладно не важно, не хочешь признавать ошибку ) Ты писал. "В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции" Это ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:54 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов. ALTER TABLE FETCH REVOKE BEGIN TRANSACTION GRANT SELECT (See exception below.) CREATE INSERT TRUNCATE TABLE DELETE MERGE UPDATE DROP OPEN ---------------- SELECT statements that do not select from a table do not start implicit transactions. For example SELECT GETDATE(); or SELECT 1, 'ABC'; do not require transactions. ... |
|
:
|
|
21.04.2023, 17:56 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Какую? Ты писал. "В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции" Это ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 18:59 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов. ALTER TABLE FETCH REVOKE BEGIN TRANSACTION GRANT SELECT (See exception below.) CREATE INSERT TRUNCATE TABLE DELETE MERGE UPDATE DROP OPEN ---------------- SELECT statements that do not select from a table do not start implicit transactions. For example SELECT GETDATE(); or SELECT 1, 'ABC'; do not require transactions. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ссылочку дай, где это написано. По умолчание он выключен ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:06 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Ссылочку дай, где это написано. По умолчание он выключен Цитата [игнорируется] Если задано значение OFF, каждая из предыдущих инструкций T-SQL ограничена невидимыми инструкциями BEGIN TRANSACTION и COMMIT TRANSACTION. При значении OFF транзакция выполняется в режиме автофиксации. https://learn.microsoft.com/ru-ru/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-ver16 То есть select (как и другие инструкции из списка) выполняется в отдельной транзакции. Перед ним невидимый BEGIN TRANSACTION, после него - невидимый COMMIT TRANSACTION. ... |
|
:
|
|
21.04.2023, 19:14 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
s62 [игнорируется] Спорить с котом о том что 2 * 2 = 4 надоело ) Просто учитывай в работе, что если тебе надо транзакцию в процедуре, то придется делать begin tran ... commit. Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом. Ну и стандартные советы, постарайся делать транзакции короткими, не надо всю процедуру оборачивать. ... |
|||
:
Изменено: 21.04.2023, 19:29 - Неуловимый Джо
Нравится:
Не нравится:
|
|||
21.04.2023, 19:27 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:30 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом. Ты не приведешь ссылку, подтверждающую, что операторы в процедуре выполняются в одной транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:35 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
s62 [игнорируется] Спорить с котом о том что 2 * 2 = 4 надоело ) Просто учитывай в работе, что если тебе надо транзакцию в процедуре, то придется делать begin tran ... commit. Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом. Ну и стандартные советы, постарайся делать транзакции короткими, не надо всю процедуру оборачивать. Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|
:
|
|
21.04.2023, 19:47 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Закомментируй удаление таблицы. Выполни скрипт. Потом выполни отдельно селект ... |
|||
:
Изменено: 21.04.2023, 20:10 - Неуловимый Джо
Нравится:
Не нравится:
|
|||
21.04.2023, 20:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Это не откат транзакции, это просто результат первого селекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:07 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Это не откат транзакции, это просто результат первого селекта. как раз хороший пример. Первый апдейт выполнился. И ОСТАЛСЯ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:08 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Не было события, которое бы прервало транзакцию ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:11 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Не было события, которое бы прервало транзакцию ладно, теперь точно все :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:12 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А какое событие прервет? 1/0 прервет? Нарушение primary key ? Что-то же должно прервать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:13 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Если написать Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:14 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Если написать Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
если потом отдельно выполнить селет, то там нули. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:17 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я просто не нашел способа, что бы транзакция прервалась. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:27 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
надо звать Курочкина! он всё разрулит , мана ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:31 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
надо звать Курочкина! он всё разрулит , мана ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:32 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Притворяешься? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:32 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Что? "В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции" ... |
|||
:
Изменено: 21.04.2023, 20:34 - Неуловимый Джо
Нравится:
Не нравится:
|
|||
21.04.2023, 20:34 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я просто не нашел способа, что бы транзакция прервалась. :( да как это не прервалась, если в примере с begin tran, она откатилась? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:38 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Кот, он вообще кто? Он субдшник? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:39 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Кот, он вообще кто? Он субдшник? ... |
|||
:
Изменено: 21.04.2023, 20:42 - Горбатый ёж
Нравится:
Не нравится:
|
|||
21.04.2023, 20:41 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Был неправ. Внутри ХП нет неявного начала и окончания транзакции ... |
|
:
|
|
21.04.2023, 20:52 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Кот, он вообще кто? Он субдшник? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:55 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 21:01 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Был неправ. Внутри ХП нет неявного начала и окончания транзакции ... |
|
:
|
|
21.04.2023, 21:03 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Был неправ. Внутри ХП нет неявного начала и окончания транзакции ты пыжишься страниц пять уже ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 21:07 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Был неправ. Внутри ХП нет неявного начала и окончания транзакции ты пыжишься страниц пять уже ) ... |
|
:
|
|
21.04.2023, 21:07 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 21:53 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? ( я в далёких 1989-х годах учился ассемблеру на проге "Кермит", там на каждой строчке был коммент, на инглиш правда ) ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
21.04.2023, 21:57 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:18 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. жестоким психопатом, который знает, где вы живете. воистину, гат! ( фазер, инто юр хендз ай коммэнд май спирит..... ) ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:23 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:25 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
А у тебя главная забота - что бы те, кого наймут после того, как тебя выгонят, работали комфортно? Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. жестоким психопатом, который знает, где вы живете. воистину, гат! ( фазер, инто юр хендз ай коммэнд май спирит..... ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:26 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. жестоким психопатом, который знает, где вы живете. воистину, гат! ( фазер, инто юр хендз ай коммэнд май спирит..... ) ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:27 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... ... жестоким психопатом, который знает, где вы живете. воистину, гат! ( фазер, инто юр хендз ай коммэнд май спирит..... ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:28 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... жестоким психопатом, который знает, где вы живете. воистину, гат! ( фазер, инто юр хендз ай коммэнд май спирит..... ) товарищ Транзакций - не виноват! ... |
|||
дед-пердед
:
Изменено: 21.04.2023, 22:38 - Гарыныч
Нравится:
Не нравится:
|
|||
21.04.2023, 22:37 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
на надо транзакцею ни ножичном, ни нунчаком.... товарищ Транзакций - не виноват! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:42 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я их что, сортировать буду? ... |
|||
дед-пердед
:
Нравится:
Не нравится:
|
|||
21.04.2023, 22:55 |
|
Транзакции в MS SQL Server
|
|
---|---|
#18+
Пользователи разблокированы в теме: PaNik. ... |
|
Sparrow:
Пользователи разблокированы в теме: PaNik.
|
|
22.04.2023, 01:55 |
|
Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
освежаю в памяти, попутно узнаю много нового https://learn.microsoft.com/ru-Ru/sql/relational-databases/sql-server-transaction-locking-and-row-versioning-guide?view=aps-pdw-2016 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2023, 14:51 |
|
|
Start [/forum/topic.php?fid=17&tid=8919&all=1]: |
0ms |
get settings: |
1ms |
get forum list: |
6ms |
check forum access: |
0ms |
check topic access: |
0ms |
track hit: |
29ms |
get topic data: |
4ms |
get forum data: |
1ms |
get page messages: |
242ms |
update_topic_read_status (8919): 06.06.2023 14:51:13: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
21ms |
check new: |
299ms |
others: | 124ms |
total: | 727ms |
0 / 0 |