就比如把表tab里符合条件的54行A字段换成另外54个数字。象下面的JR040005571,JR040005572﹐JR040005573...依次换成AAAA001,AAAA002,AAAA003.....怎幺用update语句直接实现?谢谢﹗
A
JR040005571
JR040005572
JR040005573
JR040005574
JR040005575
JR040005576
A
JR040005571
JR040005572
JR040005573
JR040005574
JR040005575
JR040005576
解决方案 »
- 上千万数据,检索某一条记录,怎样最有效率。。
- SQL Server 数据表 和 SQL Compact 3.5 数据表同步
- sql server 2005 多条件更新数据库
- 关于"将数据类型 DBTYPE_DBDATE 转换为 datetime 时出错"的问题~
- 这个语句应该怎么写?
- 怎样用SQL SERVER 2000 搭建个人服务器(步骤)直接送100分
- win2000系统中已经存在有sqlserver2000(坏掉了)后,如何再次成功安装
- SQL疑难杂症,趣味问题,请高手过招:)
- 两台winnt4.0 server +sql server7.0 标准版拉订阅总是不成功(The inital snapshot
- sql server一个表中可存储的最多的记录数是多少?听说是10万。。
- 求助:如何写这样问题的sql语句?
- 时间函数问题以及触发器问题,高手请进,急啊,在线等待
http://expert.csdn.net/Expert/topic/2467/2467726.xml?temp=.1658136
Update tab set A=”AAAA001” where A=” JR040005571”
Update tab set A=”AAAA002” where A=” JR040005572”
.
.
.
Update tab set A=”AAAA054” where A=” JR040005625”
但现在由于有54条﹐或者更多﹐我想用一条语句或方法来一次性实现﹐而不是去写54条上面的update语句。
set @a=0
update tab set @a=@a+1,a='AAAA'+right(1000+@a,3) where 条件
set @a=5571
update tab
set
a='JR04000'+right(10000+@a,4)
,@a=@a+1
where 条件
declare @str char(11)
declare @i int
open cur
declare @i2 int
set @i2=571
fetch next from cur into @str
set @i=1
while @@fetch_status=0
begin
set @str=('AAAA0'+right('0'+cast(@i as varchar(2)),2))
update tab set a=@str where a='JR040005'+cast(@i2 as varchar(3))
set @i=@i+1
set @i2=@i2+1
fetch next from cur into @str
end
close cur
deallocate cur
如果错误请告诉我,可以吗?