sql server更新字段信息,让其自动增长

https://img1.mukewang.com/5b9b5a400001827d01680400.jpg

如图所示,默认的查询出的信息如上,我现在想要的操作是,p_id的排序方式递增,而对应的pc_id改成 1、2、3、4、5..这样一次递增,先贴出我的处理方式--(mysql中的处理)

set @rownum=0;
update product
SET pc_id = (select @rownum := @rownum +1 as nid) ORDER BY p_id asc

可是这种在mysql中可以,但在sql server中不行,大神你们的方法怎样?


12345678_0001
浏览 2153回答 1
1回答

Qyouu

自增序号使用row_number函数,sqlserver 2008支持merge的写法,如:merge t as targetusing (select p_id, row_number() over (order by p_id)  as pc_id_seq from t ) as sourceon (target.p_id = source.p_id)when matched thenupdate set target.pc_id = source.pc_id_seq;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server