我想我可能退步了,你们感受下
今天给一个库里的一些以Beijin_开头的表改名,将Beijin_改成BJ_
我想应该是这样的:
EXEC sp_rename 'Beijin_customers', 'Bj_customers'
由于有很多表,于是我打算利用sys.tables拼串:
select name from sys.tables where name like 'Beijing%'
然后。。。
5分钟没拼出来
这是为什么?
................以下是广告.........
------解决方案--------------------语句是没有问题的,可能是表被锁住了,也不会是拼写的问题
------解决方案--------------------多个字母很正常,呵呵~5分钟很了不起了~我搞过几个小时的
------解决方案--------------------大叔你太谦虚了
------解决方案--------------------坐等结果
------解决方案--------------------太正常了,多个字母嘛。。。俺们也常干这事。。。。
------解决方案--------------------大牛谦虚了,膜拜一下.
------解决方案--------------------------解决方案--------------------换做我 一个小时拼不出来。
------解决方案--------------------我也不会弄,我只能查询出来,然后再复制一遍。
select 'EXEC sp_rename '''+name+''', '''+replace(name,'Beijin','Bj')+'''' from sys.tables where name like 'Beijin%'
/*
EXEC sp_rename 'Beijin_ba', 'Bj_ba'
EXEC sp_rename 'Beijin_customers', 'Bj_customers'
*/
------解决方案--------------------这个功能挺实用的,建议可以做个函数出来,SQL SERVER就应该提供这样的批量修改的功能