SQL Server问题:
我有一张appx表。 1000个已存在的行和5列
如何更新列中第Y行的值?
我没有任何钥匙或条件。
答案 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子句中的条件。