Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Гарантируемый UPDATE :) / 6 сообщений из 6, страница 1 из 1
23.03.2011, 14:31
    #37179224
marse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
Гарантирует ли вариант 2 обновление записей в порядке, отсортированным по ID?
Сайбэйз 12.5.2

Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
IF object_id('#tmp_sum') IS NOT NULL
    DROP TABLE #tmp_sum

go

CREATE TABLE #tmp_sum(ID INT IDENTITY PRIMARY KEY CLUSTERED, Deal money)

INSERT INTO #tmp_sum(Deal)
VALUES ( 100 )

INSERT INTO #tmp_sum(Deal)
VALUES ( 200 )

INSERT INTO #tmp_sum(Deal)
VALUES ( 20 )

INSERT INTO #tmp_sum(Deal)
VALUES ( 9 )

DECLARE @Deal MONEY

SET @Deal =  0 

--Вариант 1
SELECT t.ID, sum(tt.Deal)
FROM #tmp_sum t
    INNER JOIN #tmp_sum tt
    ON tt.ID <= t.ID
GROUP BY t.ID

--Вариант 2
UPDATE #tmp_sum
SET Deal = Deal + @Deal,
    @Deal = Deal + @Deal
    
SELECT * 
FROM #tmp_sum
Модератор: не забывай пользоваться кнопкой SRC
...
Рейтинг: 0 / 0
23.03.2011, 14:44
    #37179267
marse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
Без IQ
...
Рейтинг: 0 / 0
23.03.2011, 17:21
    #37179681
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
marseГарантирует ли вариант 2 обновление записей в порядке, отсортированным по ID?нет
...
Рейтинг: 0 / 0
23.03.2011, 20:07
    #37179947
invariant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
White Owl,
В приведенном примере будет table scan по таблице с кластеризованным индексом по ID, так что данные лежат в порядке увеличения ID - соответственно и update пойдет в том же порядке.
...
Рейтинг: 0 / 0
24.03.2011, 20:15
    #37181658
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
invariantWhite Owl,
В приведенном примере будет table scan по таблице с кластеризованным индексом по ID, так что данные лежат в порядке увеличения ID - соответственно и update пойдет в том же порядке.Порядок обновления и удаления строк никак не регламентирован, а значит и закладываться на это нельзя.
...
Рейтинг: 0 / 0
24.03.2011, 21:19
    #37181723
invariant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гарантируемый UPDATE :)
White OwlПорядок обновления и удаления строк никак не регламентирован, а значит и закладываться на это нельзя.
Конкретно в данных условиях - (ASE12.5, таблица с фиксированными полями, кластеризованный индекс, прямой update) - работает. Но в общем случае Вы, конечно, правы - есть много тонких моментов, которые надо проверять, и для разных версий сервера поведение может и поменяться. Так что в повседневной практике такие методы лучше не использовать, но в каком-нибудь конкретном случае для разового update может и пригодиться.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Гарантируемый UPDATE :) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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