powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по синтаксису Update
25 сообщений из 112, страница 2 из 5
Вопрос по синтаксису Update
    #39909974
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint
я утверждаю что согласно опять же структуре таблицы первыми строками в таблице всегда будут строки со значением AppCode=''

22051566
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909977
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

Цитата

entrypoint
Zulus,

Да, порядок строк только ORDER BY, но в данном случае я говорю о том, что первой в таблице будет любая строка со значением AppCode=''.


entrypoint
iap,

Код: 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.
30.
CREATE TABLE dbo.Repayments
             (AppCode       NVARCHAR(60) NOT NULL
            , RepaymentDate SMALLDATETIME NOT NULL
            , DocNumber     INT NOT NULL
             );
CREATE CLUSTERED INDEX cx_Repayments ON dbo.Repayments(AppCode, RepaymentDate);
GO

INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
SELECT 'a', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'c', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'd', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'e', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'f', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 

SELECT 
       AppCode
     , RepaymentDate
     , DocNumber
FROM 
     dbo.Repayments;



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
AppCode                                                      RepaymentDate           DocNumber
------------------------------------------------------------ ----------------------- -----------
                                                             2019-12-30 14:39:00     0
                                                             2019-12-30 14:39:00     0
                                                             2019-12-30 14:39:00     0
                                                             2019-12-30 14:39:00     0
                                                             2019-12-30 14:39:00     0
                                                             2019-12-30 14:39:00     0
a                                                            2019-12-30 14:39:00     0
b                                                            2019-12-30 14:39:00     0
c                                                            2019-12-30 14:39:00     0
d                                                            2019-12-30 14:39:00     0
e                                                            2019-12-30 14:39:00     0
f                                                            2019-12-30 14:39:00     0



Нет ?


Это мой код подтверждающий мое утверждение

Здесь место, для Вашего кода, опровергающего его

Код: sql
1.
2.




P.S. Код, только код, без слов и спекуляций
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909979
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

Может и у Вас есть код ?
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909983
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Там добавление данных INSERT, а не UPDATE про который вы пишите.
Где там? И про что я пишу?
entrypoint
Субъективные выводы, ссылки на самого же себя, а главное, полное игнорирование доводов, нет ни одного довода, который я бы не подкрепил кодом
Если Вы доводы не считаете доводами - это Ваши трудности.
Если не хватает знаний для понимания написанного и нет желания даже допустить, что Вы далеко не самый умный на свете - Ваши трудности.

Ваш код доводом не является, ибо не делает того, что требуется, даже с учетом Ваших домыслов о AppCode = ''
Еще раз - потрудитесь понять, что делает этот update. Затем сравните результат исходного update с Вашим творением вот на таком
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'a', GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT 'c', GETDATE(), 0 UNION ALL 
SELECT 'd', GETDATE(), 0 UNION ALL 
SELECT 'e', GETDATE(), 0 UNION ALL 
SELECT 'f', GETDATE(), 0;


А потом, так уж и быть, вот с этим
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with a as
(
 select
  DocNumber,
  row_number() over (partition by AppCode order by AppCode, RepaymentDate) + 
   case when AppCode = @Part then 1 else 0 end as n
 from
  dbo.Repayments
)
update a
 set
  DocNumber = n;
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909991
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint, лови
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909994
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

в этой редакции Ваш код возвращает точно то, что и код автора и мой код

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with a as
(
 select
  DocNumber,
  row_number() over (partition by AppCode order by AppCode, RepaymentDate) + 
   case when AppCode = @Part then 1 else 0 end as n
 from
  dbo.Repayments
)
update a
 set
  DocNumber = n;



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
AppCode                                                      RepaymentDate           DocNumber
------------------------------------------------------------ ----------------------- -----------
                                                             2019-12-30 17:24:00     2
                                                             2019-12-30 17:24:00     3
                                                             2019-12-30 17:24:00     4
                                                             2019-12-30 17:24:00     5
                                                             2019-12-30 17:24:00     6
                                                             2019-12-30 17:24:00     7
a                                                            2019-12-30 17:24:00     1
b                                                            2019-12-30 17:24:00     1
b                                                            2019-12-30 17:24:00     2
c                                                            2019-12-30 17:24:00     1
d                                                            2019-12-30 17:24:00     1
e                                                            2019-12-30 17:24:00     1
f                                                            2019-12-30 17:24:00     1



Зачем вот это все, вот эти оскорбления, если Вы в конце концов сделали то же что и я ?
авторЕсли не хватает знаний для понимания написанного и нет желания даже допустить, что Вы далеко не самый умный на свете - Ваши трудности.

Ваш код доводом не является, ибо не делает того, что требуется, даже с учетом Ваших домыслов о AppCode = ''
Еще раз - потрудитесь понять, что делает этот update. Затем сравните результат исходного update с Вашим творением вот на таком[src]


Как насчет кода про кластерный индекс ?
Помните, нужно опровергнуть
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909995
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Нет ?
Сейчас да. А потом - не знаю...
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909996
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Код, только код, без слов и спекуляций
Упертый :)
Код: 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.
use tempdb;
go

create table dbo.t (id int identity primary key, filler char(1000));
insert into dbo.t
select top (1000)
 'a'
from
 master.dbo.spt_values a cross join
 master.dbo.spt_values b;

delete from dbo.t where id < 100;
insert into dbo.t values ('b'), ('c'), ('d'), ('e'), ('f');
go

set statistics xml on;

select top (10) id from dbo.t;
select top (10) id from dbo.t with (tablock);

set statistics xml off;
go

drop table dbo.t;
go


Или - https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=81b441920d46b4424d9ff7bfc92d7f70
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39909997
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

)))))))) Остроумно, отношусь как к хорошей шутке.
Есть способ проще )))))

Код: sql
1.
SELECT * FROM dbo.Repayments ORDER BY NEWID()
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910002
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint, у меня там нет order by во первых, а во вторых, вы наверняка, сами смекаете, что для join оптимизатор может выбрать loop/merge/hash/adaptive join и без явного указания.

Что же качается вашего order by newid(), то select без явного указания сортировки эквивалентен select ... order by (select null) - может сейчас наступит просветление?
Иначе у меня складывается впечатление уже, что вы троллите.
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910004
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Мое утверждение верно, потому что вы подменили кластерный индекс нашей таблицы по (AppCode, RepaymentDate) на кластерный индекс по Id

Информация к размышлению

Код: 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.
30.
31.
32.
CREATE TABLE dbo.Repayments
             (Id            INT NOT NULL IDENTITY(1, 1) PRIMARY KEY NONCLUSTERED
            , AppCode       NVARCHAR(60) NOT NULL
            , RepaymentDate SMALLDATETIME NOT NULL
            , DocNumber     INT NOT NULL
             );
CREATE CLUSTERED INDEX cx_Repayments ON dbo.Repayments(AppCode, RepaymentDate);
GO

INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
SELECT 'a', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'c', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'd', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'e', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'f', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 

SELECT 
       Id
     , AppCode
     , RepaymentDate
     , DocNumber
FROM 
     dbo.Repayments;
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910014
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

ну что такое

Нужен прямой SELECT который возвращает строки в физическом порядке
а у Вас соединения, указания к соединению HASH, это уже сортировки

Вы выводите строки не согласно физическому порядку, а согласно значению рассчитанного хэш порядок которого отличается от физического

вот фрагмент плана выполнения Вашего запроса соединение по хэш

Код: xml
1.
2.
3.
4.
5.
       <HashKeysBuild>
                  <ColumnReference Database="[rhino]" Schema="[dbo]" Table="[Repayments]" Alias="[r]" Column="DocNumber" />
                  <ColumnReference Database="[rhino]" Schema="[dbo]" Table="[Repayments]" Alias="[r]" Column="RepaymentDate" />
                  <ColumnReference Database="[rhino]" Schema="[dbo]" Table="[Repayments]" Alias="[r]" Column="AppCode" />
       </HashKeysBuild>



а физический порядок AppCode + RepaymentDate


Вот же о чем речь

entrypoint
invm,

Ну как не конструктивно, ну если есть у автора возможный изъян в логике (а может и предусмотренное поведение), почему не говорить о CHECK на поле AppCode, который не позволит вставить '', но сейчас-то в этих условиях я делаю все что позволяет приведённая структура

авторПочему-то решили, что если set @Part = '', то и первая строка в таблице должна быть с AppCode = ''


не я это решил, опять же структура данных, если я сделаю
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
SELECT 'a', GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT 'c', GETDATE(), 0 UNION ALL 
SELECT 'd', GETDATE(), 0 UNION ALL 
SELECT 'e', GETDATE(), 0 UNION ALL 
SELECT 'f', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 


то все равно строки со значением AppCode = '' будут первыми потому что
Код: sql
1.
create clustered index cx_Repayments on dbo.Repayments(AppCode, RepaymentDate)

(опять же структура)

и снова результат выполнения моего кода будет таким же как и результат работы кода автора, в отличие от представленного третьего варианта

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

???
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910019
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Мое утверждение верно, потому что вы подменили кластерный индекс нашей таблицы по (AppCode, RepaymentDate) на кластерный индекс по Id
Не надоело чушь писать?
Хоть бы матчасть подучили что ли, прежде чем дискутировать...

https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=160f5e9acfeba984e1c3534a55b597a3
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910027
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Снова оскорбления ))))

Только код, только код

TOP - это не физический порядок, как раз TOP и требует ORDER BY, т.е. - согласно Майкрософт конструкция TOP без ORDER BY не корректна
https://docs.microsoft.com/ru-ru/sql/t-sql/queries/top-transact-sql?view=sql-server-ver15

Код: sql
1.
В инструкции SELECT всегда указывайте ORDER BY вместе с предложением TOP. Дело в том, что это единственный предсказуемый способ отбора строк предложением TOP.


т.е. использование TOP без ORDER BY выдает непредсказуемый результат (в нашем случае не в физическом порядке)

P.S. Это вы имели ввиду когда говорили про матчасть ?
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910031
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint, хотите все 1115 записей посмотреть?
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910034
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Снова оскорбления ))))
Да нет, всего лишь констатация факта.
Код был дан. Вам ничего не мешает убрать оттуда TOP и посмотреть на результат. Или страшно?

entrypoint
TOP - это не физический порядок, как раз TOP и требует ORDER BY, т.е. - согласно Майкрософт конструкция TOP без ORDER BY не корректна
Ну вот, вы еще не понимаете как работает TOP. Куда уж тут про кластерный индекс...
https://docs.microsoft.com/en-us/sql/t-sql/queries/top-transact-sql?view=sql-server-ver15 Limits the rows returned in a query result set to a specified number of rows or percentage of rows in SQL Server 2019 (15.x). When you use TOP with the ORDER BY clause, the result set is limited to the first N number of ordered rows. Otherwise, TOP returns the first N number of rows in an undefined order.В процитированном чего-нибудь есть про физический порядок? Где вообще документировано утверждение, что строки возвращаются в физическом порядке?

В общем, код Вам был дан. Если не в состоянии понять как он работает - гуглите. В гугле полно знаний, если гуглить правильно. Ключевые слова для поиска - sql server allocation order scan
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910147
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Удивительно, получил тот же самый результат, строки в таблице хранятся согласно кластерному индексу и AppCode = '' по прежнему в первых рядах (((

Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
CREATE TABLE dbo.Repayments
             (Id            INT NOT NULL IDENTITY(1, 1) PRIMARY KEY NONCLUSTERED
            , AppCode       NVARCHAR(60) NOT NULL
            , RepaymentDate SMALLDATETIME NOT NULL
            , DocNumber     INT NOT NULL
            , filler char(1000) null
            );
CREATE CLUSTERED INDEX cx_Repayments ON dbo.Repayments(AppCode, RepaymentDate);
GO

INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
SELECT 'a', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'b', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'c', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'd', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'e', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 UNION ALL 
SELECT 'f', GETDATE(), 0 UNION ALL 
SELECT '',  GETDATE(), 0 

INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
select top (1000)
 b.AppCode, b.RepaymentDate, b.DocNumber
from
 master.dbo.spt_values a cross join
 dbo.Repayments b;

delete top (100) from dbo.Repayments;

INSERT INTO dbo.Repayments(AppCode      
            , RepaymentDate 
            , DocNumber    )
values ('e', GETDATE(), 1), ('f', GETDATE(), 1), ('g', GETDATE(), 1);

SELECT 
              Id            
            , AppCode       
            , RepaymentDate 
            , DocNumber
FROM dbo.Repayments 
 



Т.е. нет, никакого способа при существующей структуре кластерного индекса получить другое поведение )))) кластерный складывает строки так и только так (физически !!!)

утверждение

авторто все равно строки со значением AppCode = '' будут первыми потому что
create clustered index cx_Repayments on dbo.Repayments(AppCode, RepaymentDate)


не опровергнуто, ибо (матчасть)


авторКластеризованные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, так как строки данных могут храниться в единственном порядке.

авторСтроки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.


https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described?view=sql-server-ver15
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910149
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

Зачем ?

В SELECT вы используете соединения подсказки, которые гарантировано возвращают строки в порядке отличном о порядка хранения записей в таблицы

Нужно положить данные в таблицу так чтобы

Код: sql
1.
2.
3.
4.
5.
SELECT 
              AppCode       
            , RepaymentDate 
            , DocNumber
FROM dbo.Repayments 



вывел в первых строках что-то другое, а не AppCode = ''

Ну а это, как указано выше, судя по всему - невозможно
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910151
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю на этом можно остановиться, согласны ?


Всех с наступающим Новым Годом !!!
Счастья, здоровья, профессиональных успехов !!!
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910160
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
кластерный складывает строки так и только так
Когда осознаете разницу между "складывает" и "читает", - возвращайтесь.
Авось поумнеете и сможет понять и что вам писали, и примеры, которые давали.

Хотя, складывается впечатление, что Вы намеренно игнорируете все, что может подвергнуть сомнению сложившуюся у Вас картину мира. Вон даже в последнем примере выкинули select с tablock...

Ну либо решили, потехи ради, всех потроллить перед НГ.
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910172
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Вот она картина мира

Код: sql
1.
2.
3.
4.
5.
6.
SELECT 
              Id            
            , AppCode       
            , RepaymentDate 
            , DocNumber
FROM dbo.Repayments (TABLOCK)



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
101                                                                      2019-12-31 13:15:00     0
102                                                                      2019-12-31 13:15:00     0
103                                                                      2019-12-31 13:15:00     0
..............................................................................................................
1010                                                                     2019-12-31 13:15:00     0
1011                                                                     2019-12-31 13:15:00     0
1012                                                                     2019-12-31 13:15:00     0
1013        e                                                            2019-12-31 13:15:00     1
1014        f                                                            2019-12-31 13:15:00     1
1015        g                                                            2019-12-31 13:15:00     1



AppCode='' - первые )))))
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910173
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint,

Ну вот и опустились до откровенного вранья :) Да и запрос с синтаксической ошибкой :) Или до сих пор на 2000-м сидим?

К сведению - TABLOCK не гарантируют Allocation Order Scan, а только делает его возможным. Об этом так же написано в статьях, которые было рекомендовано поискать и прочитать.
Но, видимо, не в коня корм :)

Успехов в лечении граблетерапией.
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910179
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Как безосновательно, как самоуверенно (могли бы прежде проверить, а потом писать)
никаких синтаксических ошибок )))))))

Готовы поспорить ?

у Вас

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
       Id
     , AppCode
     , RepaymentDate
     , DocNumber
     , @@VERSION 
FROM 
     dbo.Repayments( TABLOCK );



на 2017-м не отрабатывает ? ))))))))))))

даже если даже прокачать матчасть ?

авторСледующие табличные указания можно задавать как с ключевым словом WITH, так и без него: NOLOCK, READUNCOMMITTED, UPDLOCK, REPEATABLEREAD, SERIALIZABLE, READCOMMITTED, TABLOCK, TABLOCKX, PAGLOCK, ROWLOCK, NOWAIT, READPAST, XLOCK, SNAPSHOT и NOEXPAND. Если такие табличные указания указываются без ключевого слова WITH, подсказки следует задавать отдельно
https://docs.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-ver15
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910189
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буйный он какой-то... и подбородков то ли 4, то ли 12.
...
Рейтинг: 0 / 0
Вопрос по синтаксису Update
    #39910191
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint

Готовы поспорить ?

Готов поспорить, что здесь только один клоун.
Но к сожалению (ли?), он этого не осознает.
...
Рейтинг: 0 / 0
25 сообщений из 112, страница 2 из 5
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по синтаксису Update
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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