powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Microsoft SQL Server [закрыт для гостей] / Транзакции в MS SQL Server, Поиск: Искать сообщения, созданные автором: Неуловимый Джо  
25 сообщений из 29, страница 1 из 2
Microsoft SQL Server / Транзакции в MS SQL Server
    #364574
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  20.04.2023, 16:52
[игнорируется]
В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции
не путаешь с триггером?
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #364576
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
В хранимках каждый оператор в отдельной неявной транзакции.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #364673
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Ты серьёзно?
да.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #364675
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Если нужна транзакция, то нужно делать явную.

А насчет того что нет вложенных транзакций, так их нигде нет.
А там где якобы есть (типа автономные), так это уже и не транзакции, так как нарушаются принципы ACID.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в 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
Microsoft SQL Server / Транзакции в MS SQL Server
    #364692
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Ну это по крайней мере режим по умолчанию.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #364697
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Горбатый ёж  21.04.2023, 08:35
[игнорируется]
Неуловимый Джо  21.04.2023, 08:33
[игнорируется]
Ну это по крайней мере режим по умолчанию.
Обалдеть!
В Postgresql я слышал функции вроде действительно внутри своей транзакции.
Ну а чего там обалдеть, просто учитывать этот факт.
...
Изменено: 21.04.2023, 08:39 - Неуловимый Джо
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в 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
Microsoft SQL Server / Транзакции в 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
Microsoft SQL Server / Транзакции в MS SQL Server
    #365570
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:31
[игнорируется]
Неуловимый Джо  21.04.2023, 17:08
[игнорируется]
cat2  21.04.2023, 17:08
[игнорируется]
Неуловимый Джо  21.04.2023, 08:26
[игнорируется]
Горбатый ёж  21.04.2023, 07:07
[игнорируется]
...
Мы же про SQL Server?

https://dba.stackexchange.com/questions/46261/dont-use-a-transaction-for-stored-procedure#46266
Форумы меня не убеждают
А что убедит?
Ссылка на официальную документацию
Так приведи ссылку на официальную документацию, доказывающую, что операторы внутри хранимки выполняются в одной транзакции?
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365584
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:40
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Я тебе больше скажу. Любой единичный запрос выполняется в отдельной неявной транзакции
В том числе и внутри хранимки.
Ладно не важно, не хочешь признавать ошибку )
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365587
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365592
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:51
[игнорируется]
Неуловимый Джо  21.04.2023, 17:45
[игнорируется]
cat2  21.04.2023, 17:40
[игнорируется]
Неуловимый Джо  21.04.2023, 00:00
[игнорируется]
В хранимках каждый оператор в отдельной неявной транзакции.
Я тебе больше скажу. Любой единичный запрос выполняется в отдельной неявной транзакции
В том числе и внутри хранимки.
Ладно не важно, не хочешь признавать ошибку )
Какую?
Вилять начинаешь чтоли?

Ты писал.
"В самой хп никаких транзакций открывать не надо, так как по умолчанию хп выполняется в контексте одной транзакции"

Это ошибка.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365594
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 17:52
[игнорируется]
Неуловимый Джо  21.04.2023, 17:50
[игнорируется]
ну там на самом деле не каждый оператор конечно, есть список этих самых операторов.
Согласен. Select транзакций не порождает
Порождает.

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.
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Microsoft SQL Server / Транзакции в MS SQL Server
    #365707
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
s62 [игнорируется] 

Спорить с котом о том что 2 * 2 = 4 надоело )
Просто учитывай в работе, что если тебе надо транзакцию в процедуре, то придется делать begin tran ... commit.
Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом.

Ну и стандартные советы, постарайся делать транзакции короткими, не надо всю процедуру оборачивать.
...
Изменено: 21.04.2023, 19:29 - Неуловимый Джо
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365715
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 19:30
[игнорируется]
Неуловимый Джо  21.04.2023, 19:27
[игнорируется]
Операторы в процедуре НЕ выполняются в одной транзакции, проверяется элементарным экспериментом.
Ну, давай эксперимент
Надоело.
Ты не приведешь ссылку, подтверждающую, что операторы в процедуре выполняются в одной транзакции?
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365726
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 19:54
[игнорируется]
Код: 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.
USE [test]
GO

CREATE TABLE [dbo].[t](
  [t] [int] NULL
) ON [PRIMARY]

GO
insert into t (t) values (0)
insert into t (t) values (0)

go
CREATE PROCEDURE xp

AS
BEGIN
  update t SET t = 1
  update t SET t = 'A' --это откатит транзакцию
  update t SET t = 2

END
GO
select * from t
execute xp
select * from t

GO
drop table t
drop procedure xp
Это не откат транзакции, это просто результат первого селекта.

Закомментируй удаление таблицы.
Выполни скрипт.
Потом выполни отдельно селект
...
Изменено: 21.04.2023, 20:10 - Неуловимый Джо
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365730
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 20:07
[игнорируется]
Неуловимый Джо  21.04.2023, 20:03
[игнорируется]
Это не откат транзакции, это просто результат первого селекта.
Я тоже это понял. Хреновый пример привел
почему хреновый.
как раз хороший пример.
Первый апдейт выполнился.

И ОСТАЛСЯ :)
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365734
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 20:11
[игнорируется]
Неуловимый Джо  21.04.2023, 20:08
[игнорируется]
cat2  21.04.2023, 20:07
[игнорируется]
Неуловимый Джо  21.04.2023, 20:03
[игнорируется]
Это не откат транзакции, это просто результат первого селекта.
Я тоже это понял. Хреновый пример привел
почему хреновый.
как раз хороший пример.
Первый апдейт выполнился.

И ОСТАЛСЯ :)
Не было события, которое бы прервало транзакцию
блять )))

ладно, теперь точно все :)
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365735
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
А какое событие прервет?
1/0 прервет?
Нарушение primary key ?
Что-то же должно прервать?
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365736
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2 [игнорируется] 

ты ссылку-то приведешь или нет?
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365738
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2 [игнорируется] 

че ты уперся-то?
для тебя это так важно чтоли? :)
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365744
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 20:14
[игнорируется]
Если написать
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
BEGIN
begin tran
  update t SET t = 1
  update t SET t = 'A' --это откатит транзакцию
  update t SET t = 2
commit

END
То отката тоже нет
как раз есть.
если потом отдельно выполнить селет, то там нули.
...
Рейтинг: 0 / 0
Microsoft SQL Server / Транзакции в MS SQL Server
    #365747
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2 [игнорируется] 

Я уже раз в пятый прошу, приведи ссылку, откуда ты это вообще взял?
...
Изменено: 21.04.2023, 20:19 - Неуловимый Джо
Рейтинг: 1 / 0
Нравится: Гарыныч
Microsoft SQL Server / Транзакции в MS SQL Server
    #365755
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
cat2  21.04.2023, 20:27
[игнорируется]
Неуловимый Джо  21.04.2023, 20:19
[игнорируется]
cat2 [игнорируется] 

Я уже раз в пятый прошу, приведи ссылку, откуда ты это вообще взял?
Что?
Притворяешься?
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft SQL Server [закрыт для гостей] / Транзакции в MS SQL Server, Поиск: Искать сообщения, созданные автором: Неуловимый Джо  
Читали тему (3): Анонимы (3)
Читали форум (4): Анонимы (3), Bing Bot 7 мин.
Пользователи онлайн (95): Анонимы (86), Yandex Bot, ElenaG, IT-Клоп, Bing Bot, s62 1 мин., Ибрагимов Мага 82 2 мин., Redd 4 мин., sergey11 6 мин., NSFuimus 9 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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