2

update nthテーブルに録音したい

UPDATE ROW_NUMBER(3) table_name SET column1=value1, column2=value2

これは機能していません。

4

2 に答える 2

7

SQL Server 2005 以降を使用している場合は、CTE を使用してください。

次のことを試すことができます (設計に時間がかかりすぎて、私の構文は錆びてきています):

WITH CTE AS
(
    SELECT ROW_NUMBER() OVER (ORDER BY columnToUseForOrder) AS RowNumber,
           column1,
           column2
    FROM  table_Name
 )

 UPDATE CTE Set column1= value1, column2=value2 WHERE RowNumber = 3

CTE を使用すると、n 番目の行数を更新できるはずです。これをいじってみると、あらゆる種類の解決策を思い付くことができるはずです。

于 2013-01-29T12:32:33.277 に答える
3

row_numberの注文どおりになりますorderingColumn。したがって、必要に応じて交換してください。@value1, @value2および@Nth_Number変数です

update A set column1= @value1, column2= @value2
from ( select column1, column2, 
              row_number() over (order by orderingColumn) rn from yourTable) A
where rn  = @Nth_Number

あなたvalue1, value2の場合は、次のようにしてみてください

update A set column1= value1, column2= value2
from ( select column1, column2, value1, value2
              row_number() over (order by orderingColumn) rn from yourTable) A
where rn  = @Nth_Number
于 2013-01-29T12:41:28.910 に答える