SQL中如何使用T-SQL语句修改表的名称?

SQL中如何使用T-SQL语句修改表的名称?,第1张

sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename
[
@objname
=
]
'object_name
'
,
[
@newname
=
]
'new_name
'
[
,
[
@objtype
=
]
'object_type
'
]
参数
[@objname
=]
'object_name
'
是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么
object_name
必须为
tablecolumn
形式。如果要重命名的是索引,那么
object_name
必须为
tableindex
形式。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
'

SQL Server中修改字段名的语句是:sp_rename '表名旧字段名','新字段名'

字段名name改为Snam的语句如下:sp_rename 'testname','sname'


一、语法定义

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

二、语法介绍

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

三、参数说明

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

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

3、[@objtype =] 'object_type' —是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。

视图不能带参数的,你可以先创建视图,在视图里面用where

CREATE VIEW 视图名称
AS
SELECT
NRequestItemno
,[ItemSource]
,[NRequestFormNo]
,[BarCodeFormNo]
,[TollItemNo]
,[formno]
,[ParItemNo]
,(select cname from testitem where itemno=aparitemno) as itemnamecw
,(select orderno from testitem where itemno=aparitemno) as orderno
FROM dboNRequestItem
select from 视图名称
where nrequestformno=@nrequestformno

右键视图 修改 直接在字段名 后 加上 as xxxx

如:

ALTER VIEW [dbo][view_xxx]
AS
SELECT D[a
      ,D[b] AS 'c'
  FROM [dbo][xxxx] AS D
GO

创建视图:
CREATE VIEW [ < database_name > ] [ < owner > ] view_name [ ( column [ ,n ] ) ]
[ WITH < view_attribute > [ ,n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
修改视图:
ALTER VIEW [ < database_name > ] [ < owner > ] view_name [ ( column [ ,n ] ) ]
[ WITH < view_attribute > [ ,n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13362830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存