这样的表如何重命名???

星星点灯6 2009-09-09 01:58:20
sql server中示例数据库中有PERSON.CONTACT表,但命名时只让改后面那部分,请高手提供相关知识
...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyh0530 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liangck 的回复:]
SQL codeSQL SERVER 2005中.将用户与架构分离.对象不再是由用户拥有.而是由架构所拥有.

所以全名引用对象是:[database_name].[schema_name].[object_name]


所以你所说的:PERSON.CONTACT表
Person是架构名.Contact才是表名.
如果你更改了表名.那只会改表Contact这个名称.而Person不会受影响.

¡­
[/Quote]梁哥解释的忒到位~~mark
liangCK 2009-09-09
  • 打赏
  • 举报
回复
SQL SERVER 2005中.将用户与架构分离.对象不再是由用户拥有.而是由架构所拥有.

所以全名引用对象是:[database_name].[schema_name].[object_name]


所以你所说的:PERSON.CONTACT表
Person是架构名.Contact才是表名.
如果你更改了表名.那只会改表Contact这个名称.而Person不会受影响.

如果你要改变对象所属的架构..
可以先建一个架构.然后将某个对象的架构转到此架构上.

CREATE SCHEMA new_Schema AUTHORIZATION db_owner; --new_Schema架构的所有者为db_owner

ALTET SCHEMA new_Schema TRANSFER Person.Contact; --将Person.Concat的架构改为new_Schema
--此时,要访问Contact表.必须引用new_Schema架构. SELECT * FROM new_Schema.Contact

soft_wsx 2009-09-09
  • 打赏
  • 举报
回复
如果在存储过程或函数中有原表名,则要修改一下!也可以!统一修改!
soft_wsx 2009-09-09
  • 打赏
  • 举报
回复
sp_rename 'tb','newtb'
--提示注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
lihan6415151528 2009-09-09
  • 打赏
  • 举报
回复

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

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


SQL77 2009-09-09
  • 打赏
  • 举报
回复
EXEC sp_rename '[PERSON.CONTACT]', 'TB'
??
SQL77 2009-09-09
  • 打赏
  • 举报
回复
SP_RENAME

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧