首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

零下12度天寒地冻裸提跪求一语句

2013-12-05 
零下12度冰天雪地裸提跪求一语句表1:table1。只有一个字段tablename。如下:存储每个表的表名称。供200多个表

零下12度冰天雪地裸提跪求一语句
表1:table1。
只有一个字段tablename。
如下:存储每个表的表名称。供200多个表名。

tablename
a1
b2
cc1
hh1
dd2
rr1

a1,b2,cc1,...所有表的结构都是一个字段 code。如下:
a1:b2:cc1:
codecodecode
101010223311442fssd
202020234411233das
30301030123aaf123aadd


问题来了,我要通过语句将table1里所有的表名中的code字段的第二位添加一个字符1.
也就是最终a1,b2,cc1,...变成如下:
a1b2cc1
codecodecode
110101021233114142fssd
210202021344111233das
3103010301123aaf1123aadd

跪求。。。。。
[解决办法]

引用:
Quote: 引用:

补充一下

declare @tablename varchar(50)
declare cur cursor for 
select tablename from table1
open cur
fetch next from cur into @tablename
while @@FETCH_STATUS=0
begin
declare @sql varchar(max)
set @sql='
update '+@tablename+' set code=left(code,1)+''1''+right(LEN(code)-1)'

exec @sql
fetch next from cur into @tablename
end
close cur
deallocate cur



执行的时候提示  “找不到存储过程啊“
不可能啊,这不是存储过程,只是个游标啊。
[解决办法]
改成这样应该就行了:


declare @tablename varchar(50)
declare cur cursor for 
select tablename from table1
open cur
fetch next from cur into @tablename
while @@FETCH_STATUS=0
begin
declare @sql varchar(max)
set @sql='
update '+@tablename+' set code=left(code,1)+''1''+right(LEN(code)-1)'

        --加上括号
exec(@sql)
fetch next from cur into @tablename
end
close cur
deallocate cur

热点排行