sp_rename的用法

查了有关于sp_rename的资料,在微软技术支持资料中找到了答案。
故附上它的用法:
sp_rename (Transact-SQL)

在当前数据库中更改用户创建对象的名称。此对象可以是表、索引、列、别名数据类型或 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型。

注意:
更改对象名的任一部分都可能破坏脚本和存储过程。我们建议您不要使用此语句来重命名存储过程、触发器、用户定义函数或视图;而是删除该对象,然后使用新名称重新创建该对象。

主题链接图标 Transact-SQL 语法约定

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

sys.objects 中跟踪的类型的项目。例如,OBJECT 可用于重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表和规则等对象。

USERDATATYPE

通过执行 CREATE TYPEsp_addtype 添加别名数据类型CLR 用户定义类型

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

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

每当重命名 PRIMARY KEY 或 UNIQUE 约束时,sp_rename 都会自动重命名关联的索引。如果重命名的索引与 PRIMARY KEY 约束关联,则 sp_rename 也会自动重命名该 PRIMARY KEY 约束。

sp_rename 可用于重命名主要和次要的 XML 索引。

重命名存储过程、函数、视图或触发器将不会更改 sys.sql_modules 类别视图的 definition 列中相应对象名的名称。因此,我们建议不要使用 sp_rename 重命名这些对象类型。而是删除对象,然后使用新名称重新创建该对象。

重命名诸如表或列等对象将不会自动重命名对该对象的引用。您必须手动修改引用已重命名对象的任何对象。例如,如果您重命名表列,并且触发器中引用了该列,则必须修改触发器以反映新的列名。在重命名对象之前,使用 sys.sql_dependencies 列出该对象的依赖关系。

若要重命名对象、列和索引,则需要对该对象具有 ALTER 权限。若要重命名用户类型,则需要对该类型具有 CONTROL 权限。若要重命名数据库,需要具备 sysadmindbcreator 固定服务器角色的成员身份

A. 重命名表

以下示例将 SalesTerritory 表重命名为 SalesTerr

USE AdventureWorks;
GO
EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
GO

B. 重命名列

以下示例将 SalesTerritory 表中的 TerritoryID 列重命名为 TerrID

USE AdventureWorks;
GO
EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO

C. 重命名索引

以下示例将 IX_ProductVendor_VendorID 索引重命名为 IX_VendorID

USE AdventureWorks;
GO
EXEC sp_rename N'Purchasing.ProductVendor.IX_ProductVendor_VendorID', N'IX_VendorID', N'INDEX';
GO

D. 重命名别名数据类型

以下示例将 Phone 别名数据类型重命名为 Telephone

USE AdventureWorks;
GO
EXEC sp_rename N'Phone', N'Telephone', N'USERDATATYPE';
GO
实验原理:  掌握SQL Server 2012/2014中的数据类型  掌握如何利用Transact-SQL语言创建表(只需要T-SQL方法)  掌握增加、删除和修改字段的方法  掌握如何查看数据表的定义、表中数据、数据库对象之间的依赖关系  掌握如何利用SQL Server管理控制台和Transact-SQL语言删除表  提示:T-SQL增加标识列、值的检查CHECK、默认(缺省)值列级约束条件的方法  标识列:s_id int identity(1,1),  值的检查:sex nchar(1) check(sex in ('男', '女'))  默认值:s_home nchar(50) default '安徽' 实验主要任务: 1. 建立数据库,以自己的姓名命名。 2. 在上述数据库中建立一个名为student(学生信息)的表。要求表如下所示: 字段名称 字段类型 大小 说明 s_id int 作为标识列,默认种子和增量均为1,类似自动编号 studentno nchar 10 主键 sname varchar 30 非空,唯一 sex nchar 1 要求只能是“男”或“女” birthday datetime 小于当前系统时间 classno nchar 6 s_home nchar 50 默认为“安徽“ e_mail nchar 30 3. 在上述数据库中建立一个名为course(课程信息)的表。要求表如下所示: 字段名称 字段类型 大小 说明 courseno nchar 6 主键 cname nchar 20 非空,唯一 type nchar 8 period tinyint credit numeric(2,1) 要求学分只能是(1,1.5,2,2.5,3,3.5,4,4.5,5) 4. 在上述数据库中建立一个名为t_score(成绩信息)的表。要求表如下所示: 字段名称 字段类型 大小 取值范围 说明 studentno nchar 10 数据来自学生信息表 主键,外键 courseno nchar 6 数据来自课程信息表 主键,外键 usually Decimal(5,2) score Decimal(5,2) 要求值在0-100范围 5. 修改course表,增加一个memo(备注)字段,类型为text 6. 修改course表格,修改period列为int型 7. 删除t_score表格中的usually列 8. 使用存储过程sp_rename将course表格的memo列重命名为other 9. 使用存储过程sp_rename将t_score表格重命名为my_score 10. 参照实验教材,用sp_help 系统存储过程查看student表的信息。 以下内容填写请利用截屏图片和文字对实验原理和实验实际效果进行说明 任务1(建立数据库)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务2(创建student表格)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务3(创建course表格)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务4(创建t_score表格)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务5(修改course表格,增加memo字段)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务6(修改course表格period为int型)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务7(删除t_score表格的usually列)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务8(重命名列)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务9(重命名表格)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 任务10(查看表格信息)完成情况: 使用的T-SQL语句是: 完成情况: (截屏图片和文字说明) 总结 1. 本次实验涉及到的基本原理 2. 小结 实验原理:  掌握SQL Server 2012/2014中的数据类型  掌握如何利用Transact-SQL语言创建表(只需要T-SQL方法)  掌握增加、删除和修改字段的方法  掌握如何查看数据表的定义、表中数据、数据库对象之间的依赖关系  掌握如何利用SQL Server管理控制台和Transact-S
03-20
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值