Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Необходимость хинта  [new]
PaulWist
Member

Откуда:
Сообщений: 2267
Код:

declare @t int

create table #t (f1 int primary key, f2 int)

insert into #t select 1, 1 
begin transaction
	update #t with (UPDLOCK) set @t = f2 = f2 + 1 where f1 = 1
commit 

select @t

drop table #t


Вопрос: нужен ли хинт на UPDATE одной записи?
28 ноя 12, 14:35    [13543083]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Crimean
Member

Откуда:
Сообщений: 13147
PaulWist,

нет
28 ноя 12, 14:47    [13543217]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
PaulWist
Member

Откуда:
Сообщений: 2267
Crimean,

ОК, спасибо, как всегда лаконично :)
28 ноя 12, 14:50    [13543255]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
PaulWist,

Зачем?
28 ноя 12, 23:09    [13546461]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
aleks2
Guest
Mind
PaulWist,

Зачем?

А вдруг сервер не сообразит?
29 ноя 12, 06:16    [13547074]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
aleks2
Mind
PaulWist,

Зачем?

А вдруг сервер не сообразит?
Не сообразит лок наложить? :)
29 ноя 12, 21:06    [13552640]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
А какие мысли подвигли написАть следующее?

begin transaction
	update...
commit
29 ноя 12, 21:11    [13552657]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
pkarklin
А какие мысли подвигли написАть следующее?

begin transaction
	update...
commit
У меня на работе один очень "умный" DBA говорил, что если не написать begin transaction/commit, то транзакция может остаться открытой, и заставлял всех так везде писать, старый маразматик.
29 ноя 12, 21:19    [13552683]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mind
У меня на работе один очень "умный" DBA говорил, что если не написать begin transaction/commit, то транзакция может остаться открытой, и заставлял всех так везде писать, старый маразматик.

он просто знает про
SET IMPLICIT_TRANSACTIONS ON
29 ноя 12, 21:22    [13552690]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Феерично бы выглядел результат скрипта из стартового поста при SET IMPLICIT_TRANSACTIONS ON...

Сообщение было отредактировано: 29 ноя 12, 21:32
29 ноя 12, 21:32    [13552708]     Ответить | Цитировать Сообщить модератору
 Re: Необходимость хинта  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Glory
Mind
У меня на работе один очень "умный" DBA говорил, что если не написать begin transaction/commit, то транзакция может остаться открытой, и заставлял всех так везде писать, старый маразматик.

он просто знает про
SET IMPLICIT_TRANSACTIONS ON
И чего толку то? Если SET IMPLICIT_TRANSACTIONS ON, то все равно останется одна открытая транзацкия при конструкции begin tran/commit. Какой смысл открывать еще одну транзакцию?
Тогда уж нужно писать нечто подобное:
WHILE @@TRANCOUNT <> 0 COMMIT
29 ноя 12, 22:26    [13552871]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить