6,129
社区成员
发帖
与我相关
我的任务
分享
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
sp_rename 'tb','newtb'
--提示注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
A. 重命名表
以下示例将 SalesTerritory 表重命名为 SalesTerr。
USE AdventureWorks;
GO
EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
GO
EXEC sp_rename '[PERSON.CONTACT]', 'TB'
??