Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

comment définir la valeur de la colonne égale à la ligne no ?

Si vous essayez de mettre à jour une colonne directement à l'aide de ROW_NUMBER(), vous obtiendrez...

...donc à la place INNER JOIN la table à elle-même...

UPDATE
    [test123]
SET
    [row_number] = [x].[rn]
FROM
    [test123]
INNER JOIN
    (
        SELECT
            [test_id],
            ROW_NUMBER() OVER (ORDER BY [test_id]) AS rn
        FROM
            [test123]
    ) AS x
ON 
    [test123].[test_id] = [x].[test_id]