【转】SQL SERVER 中 sp_rename 用法

因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定,代码如下: 

EXEC sp_rename '表名.[原列名]', '新列名', 'column' 

 
Transact-SQL 参考 

sp_rename --更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。


语法 

sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] 

参数 

[@objname =] 'object_name' 

是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。 

[@newname =] 'new_name' 

是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。 

[@objtype =] 'object_type' 

是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。 

值描述 

COLUMN 要重命名的列。 
DATABASE 用户定义的数据库。要重命名数据库时需用此选项。 
INDEX 用户定义的索引。 
OBJECT 在 sysobjects 中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。 
USERDATATYPE 通过执行 sp_addtype 而添加的用户定义数据类型。 

返回代码值 

0(成功)或非零数字(失败) 


注释 

只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称不能更改。 

重命名视图时,sysobjects 表中有关该视图的信息将得到更新。重命名存储过程时,sysobjects 表中有关该过程的信息将得到更新。 

每当重命名 PRIMARY KEY 或 UNIQUE 约束时,sp_rename 都会自动为相关联的索引重命名。如果重命名的索引与 PRIMARY KEY 约束相关联,那么 sp_rename 也会自动重命名主键。 

重要 

重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。 
由于存储过程和视图都不存储数据,所以这两种对象均可快速删除和重建。重命名文本对象时,要获得最佳结果,应删除并使用其新名称重新创建对象。 

权限 

sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员或对象所有者可以执行 sp_rename。只有 sysadmin 和 dbcreator 固定服务器角色成员才能将"database"作为 object_type 来执行 sp_rename。 

示例 
A. 重命名表 

下例将表 customers 重命名为 custs。 

EXEC sp_rename 'customers', 'custs' 

B. 重命名列 

下例将表 customers 中的列 contact title 重命名为 title。 

EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN' 

请参见 

复制代码
ALTER TABLE 

CREATE DEFAULT 

CREATE PROCEDURE 

CREATE RULE 

CREATE TABLE 

CREATE TRIGGER 

CREATE VIEW 

数据类型 

SETUSER 

sp_addtype 

sp_depends 

sp_renamedb 

系统存储过程
复制代码

转自:http://www.cnblogs.com/no7dw/archive/2010/03/04/1678287.html

转载于:https://www.cnblogs.com/railgunman/p/8993608.html

SQLserver sp_rename用法 阅读详情

相关推荐

sql 修改列名及表名

因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定, 代码如下: EXEC sp_rename '表名.[原列名]', '新列名', 'column' ***************************************************************...

maofujun1980的专栏 1215

SQL 最基本使用

--创建表 CREATE TABLE TreeData (id INT IDENTITY(1,1) PRIMARY KEY , pid INT ) --为表添加列 ALTER TABLE treedata ADD createdate DATETIME DEFAULT GETDATE() --修改列名 EXEC sys.sp_rename @objname = N'treedata.NAME'...

weixin_30455661的博客 100

SQL Server 使用系统存储过程sp_rename重命名表名和字段名

SQL Server中内置了系统存储过程sp_rename可用于重命名表名和字段名。 1、重命名表名 语法: exec sp_rename 'oldName', 'newName'; 实例: 将user表重命名为users。 exec sp_rename 'user', 'users'; 2、重命名字段名 语法: exec sp_rename 'tableName.[oldName]', 'newName', 'column'; 实例: 将users表的realname字段重命名为p

旭东怪的博客 8091

sql server 用alter命令行修改

例:alter table emp add name_emp varchar(4) not null default 1 with values;例:alter table emp add name_emp varchar(4) null/not null;alter table 表名 alter column 字段名 decimal(18, 2) null;EXEC sp_rename '表名.[原列名]', '新列名' , 'COLUMN';alter table 表名 drop column 列名。

karry95的博客 3764

mysql sp_rename_【SQL SERVERsp_rename 用法

因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定,代码如下:EXEC sp_rename '表名.[原列名]', '新列名', 'column'Transact-SQL 参考sp_rename --更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。语法sp_r...

weixin_39914243的博客 445

sas rename重命名_如何使用sp_rename命令在SQL Server中重命名表

sas rename重命名In this article, we will learn to rename tables in SQL Server. sp_rename is a built-in stored procedure which helps to rename user tables in the SQL Server. During the software developmen...

culuo4781的博客 4479

SQL SERVERsp_rename 用法

自:http://www.cnblogs.com/no7dw/archive/2010/03/04/1678287.html  因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定,代码如下: EXEC sp_rename '表名.[原列名]', '新列名'...

weixin_30556161的博客 240

sp_rename用法

查了有关于sp_rename的资料,在微软技术支持资料中找到了答案。故附上它的用法sp_rename (Transact-SQL)在当前数据库中更改用户创建对象的名称。此对象可以是表、索引、列、别名数据类型或 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型。注意:更改对象名的任一部分都可能破坏脚本和存

teedry的专栏 1万+

sp_rename

更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。   语法sp_rename [ @objname = ] 'object_name' ,   [ @newname = ] 'new_name'   [ , [ @objtype = ] 'object_type

wujianfeng32的专栏 919

SQL Server使用sp_rename重命名约束注意事项

SQL Server使用sp_rename重命名约束注意事项在SQL Server中,我们可以使用sp_name这个系统存储过程重命名数据库中对象的名称。 此对象可以是表、 索引、 列、 别名,约束等数据类型(具体可以参考官方文档)。上周在使用这个函数重构数据库中约束的时候,遇到了下面错误,如下所示: USE AdventureWorks2014; GO...

测试0901-1 1270

SQL Server rename

--更改表名: old_tabName 改为 new_tabName exec sp_rename 'old_tabName','new_tabName' --更改列名: old_colName 改为 new_colName exec sp_rename 'tabName.old_colName','new_colName','COLUMN' --更改索引名: old_indName 改为 ...

Milkha的博客 3279

SQL Server数据库SP命令祥解

1、数据库: (1)sp_helpdb:报告有关指定数据库或所有数据库的信息。 例:sp_helpdb --显示所有数据库信息(名称、大小等) 例:sp_helpdb Recruitment --显示Recruitment数据库信息(名称、大小等) (2)sp_renamedb:更改数据库的名称。 例:sp_renamedb ’pubs’,’pub’ --将名为pubs的数据库改名为p...

Ian Sheng的博客 7069

深刻理解SQL Server系统存储过程sp_rename

语法   sp_rename [ @objname = ] object_name , [ @newname = ] new_name     [ , [ @objtype = ] object_type ]

离,路的尽头还很远... 3218

谨慎使用sp_rename修改任何对象名

原文链接:http://www.lmwlove.com/ac/id820 我们在修改sqlserver数据库中对象名称的时候,可能会比较喜欢使用sp_rename系统存储过程来操作,因为使用它比起到可视化列表中去找对象,速度要快的多。但为什么我们不提倡使用它呢,因为使用它可能会带来一些麻烦。而且,在使用它更改对象名时,数据库本身也会给出如下警告:警告:更改对象名的任一部分都可能会破坏...

1461

sqlsp_rename 重命名的使用

sp_rename   更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。   语法sp_rename [ @objname = ] 'object_name' ,   [ @newname = ] 'new_name'   [ , [ @objtype = ] 'object_type' ]   参数[@objname =] 'object_n

編程愛好的专栏(球) 5548
上一篇: sqlsever实现更改字段名
下一篇: MSSQL给字段添加默认值
aowo7144
博客等级 码龄9年 5粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值