当前位置: 代码迷 >> Sql Server >> 怎样用 update 更新每一条记录,该如何处理
  详细解决方案

怎样用 update 更新每一条记录,该如何处理

热度:335   发布时间:2016-04-27 18:47:20.0
怎样用 update 更新每一条记录
表 Article 
-------------------------------------
id article_no

00000000 云天房地产开发有限公司简介
00000000 云天商贸广场鸟瞰效果图
00000000 镇东新桥仰视效果图
00000000 云天市政工程有限公司简介
00000000 镇东新桥俯视效果图
... ....


我要改成如下效果:
id article_no

00000001 云天房地产开发有限公司简介
00000002 云天商贸广场鸟瞰效果图
00000003 镇东新桥仰视效果图
00000004 云天市政工程有限公司简介
00000005 镇东新桥俯视效果图
... ....

sql语句:
update Article
set a.article_no=ISNULL(right('0000000000'+cast(cast(max(a.assort_no) as int)+1 as varchar(10)),10),'0000000000')
from Article a,Article b  
where a.article_no=b.article_no

提示: 'Article' 不明确。

------解决方案--------------------
把update Article 
-------------
update a

------解决方案--------------------
SQL code
--原始数据:@Articledeclare @Article table(id varchar(8),article_no varchar(26))insert @Articleselect '00000000','云天房地产开发有限公司简介' union allselect '00000000','云天商贸广场鸟瞰效果图' union allselect '00000000','镇东新桥仰视效果图' union allselect '00000000','云天市政工程有限公司简介' union allselect '00000000','镇东新桥俯视效果图'select * from @Article/*id       article_no                 -------- -------------------------- 00000000 云天房地产开发有限公司简介00000000 云天商贸广场鸟瞰效果图00000000 镇东新桥仰视效果图00000000 云天市政工程有限公司简介00000000 镇东新桥俯视效果图*/declare @id intset @id = 0update @Article set id=replicate('0',8-len(@id))+ltrim(@id),@[email protected]+1select * from @Article/*id       article_no                 -------- -------------------------- 00000001 云天房地产开发有限公司简介00000002 云天商贸广场鸟瞰效果图00000003 镇东新桥仰视效果图00000004 云天市政工程有限公司简介00000005 镇东新桥俯视效果图*/
------解决方案--------------------
SQL code
楼上的把最简单的方法写了,,只好另外写一个了create table Article (id varchar(10),article_no varchar(26))insert Articleselect '00000000','云天房地产开发有限公司简介' union allselect '00000000','云天商贸广场鸟瞰效果图' union allselect '00000000','镇东新桥仰视效果图' union allselect '00000000','云天市政工程有限公司简介' union allselect '00000000','镇东新桥俯视效果图'select pid=identity(int,1,1),* into #temp from Articleupdate Article set id=right(a.id+cast(pid as varchar),8) from Article a,#temp b where a.article_no=b.article_no
  相关解决方案