|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|
---|---|
#18+
Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Если надо выполнить несколько операторов, то их надо обернуть в xp. В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции ... |
|
:
|
|
20.04.2023, 16:52 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще один решил потролить? По существу возражения есть? Как радостно открывать транзакции на клиенте? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 17:04 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
По существу возражения есть? При этом оба процесса могут быть запущены на одном клиенте. Давай, расскажи где ты будешь стартовать транзакции, если не на клиенте. Хотя ты наверное скажешь, что не надо стартовать, достаточно зафиксировать изменения. Только вопрос, насколько ты уверен с том, что в текущей транзакции не были внесены ранее каким либо изменения помимо интересующего бизнес процесса. И ещё как ты будешь обрабатывать ошибки и насколько хорошо будет видно по коду в каком процессе возникает ошибка? Создаю три ХП. Потом создаю еще две. В одной вызываются две из трех, в другой - все три ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 19:13 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 19:21 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть Во-вторых, кто мешает написать комментарии? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 20:10 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В одной вызываются две из трех, в другой - все три Получаем XP1, XP2, XP3 Создаем XP4, в нем вызываются XP1, XP2, XP3 Создаем XP5, в нем вызываются XP1, XP2 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:20 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Еще так можно. Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть Во-вторых, кто мешает написать комментарии? а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг )) Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Кстати, и внутри XP тоже можно комменты писать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:26 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2023, 21:51 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Нет ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:01 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:08 |
|
Microsoft SQL Server / Транзакции в 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 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:31 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
... https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:31 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:40 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
В хранимках каждый оператор в отдельной неявной транзакции. Ладно не важно, не хочешь признавать ошибку ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:51 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 17:52 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Какую? Ты писал. "В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции" Это ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 18:59 |
|
Microsoft SQL Server / Транзакции в 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 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Ссылочку дай, где это написано. По умолчание он выключен ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:06 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 19:30 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Это не откат транзакции, это просто результат первого селекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:07 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Не было события, которое бы прервало транзакцию ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:11 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Если написать Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:14 |
|
Microsoft SQL Server / Транзакции в MS SQL Server
|
|||
---|---|---|---|
#18+
Я просто не нашел способа, что бы транзакция прервалась. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2023, 20:27 |
|
|
Start [/forum/search.php?do_search=1&tid=8919&author_mode=wrote_post&author=cat2&start_from=365568]: |
0ms |
get settings: |
0ms |
get forum list: |
4ms |
searching: |
11ms |
get settings: |
0ms |
get forum list: |
5ms |
get topic data: |
3ms |
check forum access: |
1ms |
check topic access: |
1ms |
get forum data: |
1ms |
get found posts: |
51ms |
track hit: |
27ms |
get online users: |
56ms |
check new: |
220ms |
others: | 256ms |
total: | 636ms |
0 / 0 |