sql实现修改表字段名的方法详解

sp_rename N'表名.字段名','新字段名','column'
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 也会自动重命名主键。

重要 重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。

重命名存储过程、视图或触发器不会更改 syscomments 表中相应对象的名称。由于原来的名称将从 syscomments 表插入 CREATE 语句,因此这样可能会导致为该对象生成脚本时出现问题。要获得最佳结果,请不要重命名这些对象类型,而应该删除并用新名称重新创建对象。

权限
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'

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

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

(0)

相关推荐

  • sql实现修改表字段名的方法详解

    sp_rename N'表名.字段名','新字段名','column'sp_rename更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法sp_rename [ @objname = ] 'object_name' ,[ @newname = ] 'new_name'[ , [ @objtype = ] 'object_type' ] 参数[@objname =] 'object_name' 是用户对象(表.视图.列.存储过程.触发器.默认值.数据库.对象或规则)或数据类型

  • windows环境下修改pip镜像源的方法详解

    这篇文章主要介绍了windows环境下修改pip镜像源的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 (1):在windows文件管理器中,输入 %APPDATA% (2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件 (3):在新建的pip.ini文件中输入以下内容,搞定文件路径:"C:\Users\Administrator\AppData\Roaming\pip\pip.i

  • oracle查询锁表及解锁,修改表字段名与复制表结构和数据的方法

    在Oracle中查询锁表及解锁: 锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; 查看哪个表被锁: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; 查看是哪个session引起

  • SQL Server修改数据的几种语句详解

    目录 一:INSERT语句 二:INSERT INTO SELECT语句 三:UPDATE语句 四:DELETE语句 总结 本篇主要讲解的是SQL Server 中修改数据的几种语句: INSERT语句 INSERT INTO SELECT语句 UPDATE语句 DELETE语句 一:INSERT语句 INSERT语句向表中添加新行,以下是INSERT语句的最基本形式: 首先:table_name指定要插入的表的名称: 其次,column_list指定要在其中插入数据的一个或多个列的列表.必须将

  • SQL行列转换超详细四种方法详解

    目录 前言 1.使用join拼接 2.自然拼接 3.使用union拼接 4.经典sum+if 总结 前言 本文详细的介绍了多个方法实现列转行,行转列,并提供了案例的材料,有需要的小伙伴可以自行获取与学习~ 数据准备 CREATE TABLE `score` ( `id` varchar(255), `subject` char(10), `score` int ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into `score`(`id`,`subj

  • SQL 新增/修改 表字段列的类型等

    例如: 修改(列名前 要有column关键字) ALTER TABLE [USER] ALTER column [NAME] varchar(35) null 新增 ALTER TABLE [USER] ADD [PRICE]     numeric(18, 8) NULL  DEFAULT 0 通过更改.添加.除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义. 语法 ALTER TABLE table  { [ ALTER COLUMN column_name      { new_

  • MyBatis拦截器动态替换表名的方法详解

    目录 写在前面 一.Mybatis Interceptor 拦截器接口和注解 二.实现思路 三.代码实现 四.运行结果 写在最后 参考资料 写在前面 今天收到一个需求,根据请求方的不同,动态的切换表名(涵盖SELECT,INSERT,UPDATE操作).几张新表和旧表的结构完全一致,但是分开维护.看到需求第一反应是将表名提出来当${tableName}参数,然后AOP拦截判断再替换表名.但是后面看了一下这几张表在很多mapper接口都有使用,其中还有一些复杂的连接查询,提取tableName当参

  • 使用@符号让C#中的保留字做变量名的方法详解

    在c和c++中,我们知道没办法起一个变量名叫int,因为这是C/C++保留的关键字,起这么一个变量名没办法区分到底是int类型还是int变量.事实上在C#中也有这么一条规矩,就是不能起一个变量名是保留的关键字.如下图: 在C/C++中,我们是无能为力的,你必须起一个不叫int的,比如加个下划线..当然,C#中也可以这么干. @ 今天阅读<C# 3.0 in a Nutshell, 3rd Edition>才知道,原来还有一种办法就是加@符号(看了@符号的作用又多了一个): 复制代码 代码如下:

  • Android修改自己程序字体的方法详解

    Android提供三种字体:"Sans","serif"和"monospace".1.在Android XML文件中设置字体可以采用android:typeface,例如android:typeface="monospace".在这里例子中我们在Activity中对android:text="Hello, World! 您好"分别进行了四种显示方式,依次为"Sans","ser

  • SQL Server数据表字段自定义自增数据格式的方法

    本文实例讲述了SQL Server数据表字段自定义自增数据格式的方法.分享给大家供大家参考,具体如下: --修改数据表SYS_Company中字段CompanyId自定义自增约束 ALTER TABLE [dbo].[SYS_Company] Add Constraint DF_SYS_Company_CompanyId DEFAULT ([dbo].[f_PrimaryCode_SYS_Company]()) FOR [CompanyId] --Go --删除约束 Alter table SY

随机推荐