sql server 插入新的一列为作为ID列(非自增)
比如我现在有一个1000行的表。但是没有编码或者ID。我自己加了一个字段叫:编码,我想在这一列中,第一行显示为1,第二显示为2,第三行显示为3。。。。第1000行显示为1...
比如我现在有一个1000行的表。但是没有编码或者ID。我自己加了一个字段叫:编码, 我想在这一列中,第一行显示为1,第二显示为2,第三行显示为3 。。。。第1000行显示为1000,但是是非自增的。
有办法吗?谢谢大家了!!! 展开
有办法吗?谢谢大家了!!! 展开
展开全部
可以用row_number()实现。
update table set table.编码= x.编码
from table,
(
select table.主键, ROW_NUMBER() over (order by table.排序字段) as 编码
from table
) X
where table.主键 = X.主键
如果没有主键的话,有个最简单的办法。
select row_number() over (order by 排序字段),* from table
用上面语句查询出结果后,把rownumber列直接粘贴到你编码那一列里就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
声明一个变量, 初始为0, 顺序遍历所有记录+1 填进去不就好了
追问
谢谢啊,我比较菜鸟,不会写,能帮助写个例子吗?谢谢啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是sqlserver2005以上,可以用row_number()函数直接显示出来。
并且可以根据需要排序。
Select row_number() OVER (order by 列名),* from TableName
并且可以根据需要排序。
Select row_number() OVER (order by 列名),* from TableName
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询