类似于给一个班级的学生自动编学号
比如原表
name id
aa
bb
cc
求update语句 可以达到自动编号的目的
name id
aa id001
bb id002
cc id003
------解决方案--------------------
Create Table TEST
(name Varchar(10),
id Char(5))
Insert TEST Select 'aa ', Null
Union All Select 'bb ', Null
Union All Select 'cc ', Null
GO
Update
A
Set
id = 'id ' + Right(1000 + (Select Count(*) From TEST Where name <= A.name), 3)
From
TEST A
Select * From TEST
GO
Drop Table TEST
--Result
/*
name id
aa id001
bb id002
cc id003
*/
------解决方案--------------------
paoluo(一天到晚游泳的鱼) ( )
哥们,如果插入三条,然后将第二条删除。你这的代码会出现问题吧。
用MAX会好点吧。
id = 'id ' + Right(1000 + (Select Max(*) From TEST Where name <= A.name), 3)
------解决方案--------------------
这么写不知道是不是LZ想要的
如下:
(id 如果为varchar形)
[email protected],出始值为0---
declare @i varchar Set @i = '0 '
[email protected][email protected]+1----
Update [表] Set @i = @i + 1,id = 'id00 '+ @i