SQL Server:如何更新位置(x,y)的单元格值

时间:2009-08-12 13:25:06

标签: sql sql-server

SQL Server问题:

我有一张appx表。 1000个已存在的行和5列

如何更新列中第Y行的值?

我没有任何钥匙或条件。

2 个答案:

答案 0 :(得分:6)

WITH    q AS (
        SELECT  m.*, ROW_NUMBER() OVER (ORDER BY column) AS rn
        FROM    mytable m
        )
UPDATE  q
SET     mycol = 'newvalue'
WHERE   rn = @Y

请注意,SQL中没有隐式行顺序的概念。

除非您在上面的示例中定义了排序条件(n'th row),否则没有column

在此表中:

col1 col2
1    2
2    1

,行(1, 2)在按col1排序时排在第一位,在col2排序时排第二位。

答案 1 :(得分:0)

首先,添加主键,无论您是否已拥有候选键(甚至可能是复合键)或选择使用代理键。然后,您可以将其用作where子句中的条件。