Sql 使用order by更新查询
我正在尝试根据另一个短列更新一个列。我使用的是Sql 使用order by更新查询,sql,sql-update,sql-order-by,Sql,Sql Update,Sql Order By,我正在尝试根据另一个短列更新一个列。我使用的是orderby,但在使用选择top(10000)时,我的增量数为4000系列,但我需要从101开始,但最初我声明int 100 DECLARE @IncrementValue int SET @IncrementValue = 100 UPDATE CabecDoc SET CDU_NumberBook = @IncrementValue, @IncrementValue = @IncrementValue + 1 FROM (
orderby
,但在使用选择top(10000)
时,我的增量数为4000系列,但我需要从101开始,但最初我声明int 100
DECLARE @IncrementValue int
SET @IncrementValue = 100
UPDATE CabecDoc
SET CDU_NumberBook = @IncrementValue,
@IncrementValue = @IncrementValue + 1
FROM
(SELECT TOP(7000) *
FROM CabecDoc
WHERE data BETWEEN '2019-05-01' AND '2019-07-17'
AND Entidade = 'VD4'
AND tipodoc = 'VD' AND CDU_SimbolBook = '*'
ORDER BY NumDoc ASC) CabecDoc
我需要通过7000条记录将列从101更新为增量。以下是您需要的。不需要声明变量
UPDATE
CabecDoc
SET
CDU_NumberBook = 100 + RowNum
FROM
(
Select
top(7000) *,
ROW_NUMBER() OVER(
ORDER BY
NumDoc
) AS RowNum
FROM
CabecDoc
WHERE
data between '2019-05-01'
and '2019-07-17'
and Entidade = 'VD4'
and tipodoc = 'VD'
and CDU_SimbolBook = '*'
ORDER BY
RowNum ASC
) CabecDoc