欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » SQLServer教程 » 正文

热门阅读

修改SqlServer中对象架构(表架构)示例

创建时间:2012年02月03日 16:52  阅读次数:(10455)
分享到:
首先了解一下在数据库中什么是架构(Schema),按照微软的说法"数据库架构是一个独立于数据库用户的非重复命名空间,您可以将架构视为对象的容器",具体说明可以参考:http://technet.microsoft.com/zh-cn/library/ms190387.aspx。其实对于我们搞C#的来说很好理解。架构就像C#中的命名空间,每一个类只能处在一个命名空间,不能即属于A命名空间又属于B命名空间。但数据库架构与命名空间有点不同的是,命名空间可以属于另一个命名空间下,而架构不行。

即然在数据库中有架构这个概念,那么我们在访问表的时候,严格来说,应该都需要加上架构名,例如sql语句:
select * from 表名

严格来说,应该是
select * from 架构名.表名

那为什么我们没有加架构名也能访问到表呢?这是因为有默认架构名的原因,如果我们没有给对象加架构名,那么数据库就会使用默认架构名,一般默认架构名为dbo。

回到正题,我们要如何修改对象的架构名呢?可以使用系统存储过程sp_changeobjectowner
sp_changeobjectowner说明如下:
作用:更改当前数据库中对象的所有者
语法:

sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
 
示例:
比如要修改dbo.table1的架构为newschema,sql语句如下:
sp_changeobjectowner 'dbo.table1','newschema'

来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 17+54=? 的结果(结果是:71)
结  果: