by 清泉
17. 三月 2009 14:23
SQL SERVER 批量修改数据库表名使用说明:
下列SQL语句中的'Csharp.org.cn'为要替换的表名里面的字符,'Supidea.com'为要替后的表的前缀。如果只是想把表名修改为大写,可以用upper(name)来替换replace(cast(name as varchar(200)),'Csharp.org.cn','Supidea.com')。
PS:更改对象名的任一部分都可能会破坏脚本和存储过程。修改表名后存储过程中调用的数据表名别忘记做对应的修改。
declare @oldName varchar(30),
@newName varchar(30)
declare cursor_taname CURSOR FOR
SELECT name,replace(cast(name as varchar(200)),'Csharp.org.cn','Supidea.com') as newname FROM sysobjects where type='u'
OPEN cursor_taname
FETCH NEXT FROM cursor_taname INTO @oldname,@newName
WHILE @@FETCH_STATUS=0
BEGIN
EXEC sp_rename @oldname,@newName
FETCH NEXT FROM cursor_taname INTO @oldname,@newName
END
CLOSE cursor_taname
DEALLOCATE cursor_taname
如果您需要的是批量修改Access数据库当中的表名,请参照
批量修改ACCESS数据库表名这里。