powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы [новые:4] / Microsoft SQL Server [закрыт для гостей] / Транзакции в MS SQL Server
25 сообщений из 182, страница 5 из 8
Транзакции в MS SQL Server
    #364413
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Ифрит  20.04.2023, 19:53
[игнорируется]
cat2  20.04.2023, 19:21
[игнорируется]
Еще так можно.
Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть
кто будет это счастие потом поддерживать, не раз добрым словом по матушке вспомнит.. [:smile]
Во-первых, надо думать сначала о том, как программа работает, а уж потом о тех, кто ее поддерживать будет.
Во-вторых, кто мешает написать комментарии?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364420
Фотография Ифрит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cat2  20.04.2023, 20:10
[игнорируется]
Ифрит  20.04.2023, 19:53
[игнорируется]
cat2  20.04.2023, 19:21
[игнорируется]
Еще так можно.
Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть
кто будет это счастие потом поддерживать, не раз добрым словом по матушке вспомнит.. [:smile]
Во-первых, надо думать сначала о том, как программа работает, а уж потом о тех, кто ее поддерживать будет.
Во-вторых, кто мешает написать комментарии?
думать о том как она работает, это в т.ч. и будет задачей преемников
а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг ))
...
Изменено: 20.04.2023, 20:27 - Ифрит
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364426
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cat2  20.04.2023, 19:13
[игнорируется]
В одной вызываются две из трех, в другой - все три
В чём в одной и другой?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364451
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Горбатый ёж  20.04.2023, 20:33
[игнорируется]
cat2  20.04.2023, 19:13
[игнорируется]
В одной вызываются две из трех, в другой - все три
В чём в одной и другой?
Допустим, есть три запроса, , каждый из них записываем в ХП.
Получаем XP1, XP2, XP3

Создаем XP4, в нем вызываются XP1, XP2, XP3
Создаем XP5, в нем вызываются XP1, XP2
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364457
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Ифрит  20.04.2023, 20:26
[игнорируется]
cat2  20.04.2023, 20:10
[игнорируется]
Ифрит  20.04.2023, 19:53
[игнорируется]
cat2  20.04.2023, 19:21
[игнорируется]
Еще так можно.
Передавать в ХП параметр, который будет определять, надо ли выполнять все, или часть
кто будет это счастие потом поддерживать, не раз добрым словом по матушке вспомнит.. [:smile]
Во-первых, надо думать сначала о том, как программа работает, а уж потом о тех, кто ее поддерживать будет.
Во-вторых, кто мешает написать комментарии?
думать о том как она работает, это в т.ч. и будет задачей преемников
а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг ))
Вермишель, это когда процедуры в коде косяком друг за другом идут, а когда вместо
Код: Delphi
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Adoconnection.BeginTrans
try
  ...
  ...
  AdoConnection.CommitTrans;
except
  ...
  AdoConnection.RollbackTrans;
  ...
end;
есть один вызов - это бифштекс. При рефакторинге достаточно переписать одну XP, а не перекомпилировать код программы и устанавливать обновления пользователям.

Кстати, и внутри XP тоже можно комменты писать
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364485
Фотография Ифрит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cat2  20.04.2023, 21:26
[игнорируется]
Ифрит  20.04.2023, 20:26
[игнорируется]
cat2  20.04.2023, 20:10
[игнорируется]
Ифрит  20.04.2023, 19:53
[игнорируется]
cat2  20.04.2023, 19:21
[игнорируется]
...
кто будет это счастие потом поддерживать, не раз добрым словом по матушке вспомнит.. [:smile]
Во-первых, надо думать сначала о том, как программа работает, а уж потом о тех, кто ее поддерживать будет.
Во-вторых, кто мешает написать комментарии?
думать о том как она работает, это в т.ч. и будет задачей преемников
а хорошо прокомментированная вермишель... ну, в общем - да, может облегчить её рефракторинг ))
Вермишель, это когда процедуры в коде косяком друг за другом идут, а когда вместо
Код: Delphi
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Adoconnection.BeginTrans
try
  ...
  ...
  AdoConnection.CommitTrans;
except
  ...
  AdoConnection.RollbackTrans;
  ...
end;
есть один вызов - это бифштекс. При рефакторинге достаточно переписать одну XP, а не перекомпилировать код программы и устанавливать обновления пользователям.

Кстати, и внутри XP тоже можно комменты писать
думаю, вермишель, это как раз то, что в комменте выше, плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур.
а тут, кмк, с нагромождением новых разруливвающих процедур, речь идёт об "ещё одном клиентском" уровне на серверной стороне.
и такие городушки косвености, это снова и опять вот та самая лапшичка, хоть аргументы к сему "а не перекомпилировать код программы и устанавливать обновления пользователям" и понятны, но.. линейный бифштекс в поддержке и развитии проще и перспективней, имхо
...
Изменено: 20.04.2023, 21:44 - Ифрит
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364496
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Ифрит  20.04.2023, 21:40
[игнорируется]
плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур
А тебя не удивляют операторы if, которые тоже служат для частичного выполнения?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364523
Фотография Ифрит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cat2  20.04.2023, 21:51
[игнорируется]
Ифрит  20.04.2023, 21:40
[игнорируется]
плюсом жесть, ещё выше, в виде "частично выполняющихся" процедур
А тебя не удивляют операторы if, которые тоже служат для частичного выполнения?
или неправильно понял, или... ))
if именно с целью "частичного" - повезло, не доводилось встречать такого

хотя... было, возможно, что и - близко: если аргумент истина, то выполняем всё, иначе - то выводим только диагностику
но, мотивом к этому было не частичное выполнение бизнеслогики, а те if-чики были внедрены только для повторного использования кода

как я понял, выше ты не о подобном случае писал
...
Изменено: 20.04.2023, 22:15 - Ифрит
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364529
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cat2  20.04.2023, 21:20
[игнорируется]
Горбатый ёж  20.04.2023, 20:33
[игнорируется]
cat2  20.04.2023, 19:13
[игнорируется]
В одной вызываются две из трех, в другой - все три
В чём в одной и другой?
Допустим, есть три запроса, , каждый из них записываем в ХП.
Получаем XP1, XP2, XP3

Создаем XP4, в нем вызываются XP1, XP2, XP3
Создаем XP5, в нем вызываются XP1, XP2
Феерично.
Код потом такой разбирать просто чудесно.
Но ещё раз вопрос, в чём ты эти процедуры запускать будешь? Уж не в транзакциях ли? А как ты можешь быть уверен, что у тебя в рамках транзакции выполнена только одна и нужная процедура?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364574
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
cat2  20.04.2023, 16:52
[игнорируется]
В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции
не путаешь с триггером?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364576
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
В хранимках каждый оператор в отдельной неявной транзакции.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364652
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364673
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
да.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364675
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Если нужна транзакция, то нужно делать явную.

А насчет того что нет вложенных транзакций, так их нигде нет.
А там где якобы есть (типа автономные), так это уже и не транзакции, так как нарушаются принципы ACID.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364685
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364692
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Ну это по крайней мере режим по умолчанию.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364694
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуловимый Джо  21.04.2023, 08:33
[игнорируется]
Ну это по крайней мере режим по умолчанию.
Обалдеть!
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364697
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Горбатый ёж  21.04.2023, 08:35
[игнорируется]
Неуловимый Джо  21.04.2023, 08:33
[игнорируется]
Ну это по крайней мере режим по умолчанию.
Обалдеть!
В Postgresql я слышал функции вроде действительно внутри своей транзакции.
Ну а чего там обалдеть, просто учитывать этот факт.
...
Изменено: 21.04.2023, 08:39 - Неуловимый Джо
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #364699
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуловимый Джо  21.04.2023, 08:37
[игнорируется]
Ну а чего там обалдеть, просто учитывать этот факт.
Я к такому не привык.
Обычно в процедуру объединяются действия, которые необходимо выполнить за раз, соответственно при ошибке в одном из них откатить все остальные изменения.
А тут как-то неожиданно получается.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365510
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Неуловимый Джо  20.04.2023, 23:57
[игнорируется]
cat2  20.04.2023, 16:52
[игнорируется]
В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции
не путаешь с триггером?
Нет
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365526
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Неуловимый Джо  21.04.2023, 08:26
[игнорируется]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
Форумы меня не убеждают
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365528
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:08
[игнорируется]
Неуловимый Джо  21.04.2023, 08:26
[игнорируется]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
Форумы меня не убеждают
А что убедит?
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365565
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:08
[игнорируется]
Неуловимый Джо  21.04.2023, 08:26
[игнорируется]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
Форумы меня не убеждают
Это ведь легко проверить, там даже тестовый код есть.
...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365566
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Горбатый ёж  20.04.2023, 22:21
[игнорируется]
cat2  20.04.2023, 21:20
[игнорируется]
Горбатый ёж  20.04.2023, 20:33
[игнорируется]
cat2  20.04.2023, 19:13
[игнорируется]
В одной вызываются две из трех, в другой - все три
В чём в одной и другой?
Допустим, есть три запроса, , каждый из них записываем в ХП.
Получаем XP1, XP2, XP3

Создаем XP4, в нем вызываются XP1, XP2, XP3
Создаем XP5, в нем вызываются XP1, XP2
Феерично.
Код потом такой разбирать просто чудесно.
Но ещё раз вопрос, в чём ты эти процедуры запускать будешь? Уж не в транзакциях ли? А как ты можешь быть уверен, что у тебя в рамках транзакции выполнена только одна и нужная процедура?
Честно не понимаю в чем проблема с разбором.
Ну назови XP4 PizdecAndBliat , а XP5 - PizdecOnly

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

То есть в теле хранимой процедуры XP4 конечно можно написать:
Код: SQL
1.
2.
3.
4.
5.
begin tran
execute XP1
execute XP2
execute XP3
commit
Просто begin tran и commit здесь необязательны, так как MS SQL и так обрамляет тело XP этими операторами.
Мы ведь про MS SQL говорим? В других СУБД может быть и не так, я не знаю

...
Рейтинг: 0 / 0
Транзакции в MS SQL Server
    #365567
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Неуловимый Джо  21.04.2023, 17:08
[игнорируется]
cat2  21.04.2023, 17:08
[игнорируется]
Неуловимый Джо  21.04.2023, 08:26
[игнорируется]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
...
Ты серьёзно?
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
Форумы меня не убеждают
А что убедит?
Ссылка на официальную документацию
...
Рейтинг: 0 / 0
25 сообщений из 182, страница 5 из 8
Форумы [новые:4] / Microsoft SQL Server [закрыт для гостей] / Транзакции в MS SQL Server
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (1), Bing Bot 8 мин.
Пользователи онлайн (24): Анонимы (13), Шоколадный01, Yandex Bot, Брюквенные годы 1 мин., anonymous 1 мин., Bing Bot 1 мин., IT-Клоп 1 мин., Antonariy 3 мин., S Baltiki 4 мин., Кусь 4 мин., NSFuimus 7 мин., Green 9 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]