重命名数据库、表、列名,使用系统存储过程sp_rename是最简单的了。
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
@objname 对象名
@objtype 对象类型
值 |
描述 |
COLUMN |
要重命名的列。 |
DATABASE |
用户定义的数据库。要重命名数据库时需用此选项。 |
INDEX |
用户定义的索引。 |
OBJECT |
在 sysobjects 中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。 |
USERDATATYPE |
通过执行 sp_addtype 而添加的用户定义数据类型。 |
/*
功能:重命名数据库、表、列
编写:wgh
时间:2006-11
*/
--重新命名数据库
IF EXISTS(SELECT 1 FROM master..sysdatabases WHERE name='BBS')
EXECUTE sp_rename @objname='BBS',@newname='BBS1',@objtype='DATABASE'
--重新命名表名
IF EXISTS(SELECT 1 FROM sysobjects WHERE name='bbs_log' AND OBJECTPROPERTY(id,'IsUserTable')=1)
EXECUTE sp_rename @objname='bbs_log',@newname='bbs_log1',@objtype='OBJECT'
--重新命名列名
IF EXISTS(SELECT 1 FROM syscolumns WHERE id=OBJECT_ID('bbs_log') AND name='ColumnName' AND OBJECTPROPERTY(id,'IsUserTable')=1)
EXECUTE sp_rename @objname='bbs_log.[ColumnName]',@newname='NewColumnName',@objtype='COLUMN'