博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改SqlServer中对象架构(表架构)示例
阅读量:4881 次
发布时间:2019-06-11

本文共 787 字,大约阅读时间需要 2 分钟。

首先了解一下在数据库中什么是架构(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'
 
原文地址:
http://www.lmwlove.com/ac/ID764

转载于:https://www.cnblogs.com/zuolijun/archive/2013/02/20/2918039.html

你可能感兴趣的文章
H5上传功能
查看>>
PHP命名空间(Namespace)的使用详解
查看>>
java项目@override报错问题
查看>>
DataTable 和Json 字符串互转
查看>>
Django中Template does not exit
查看>>
Redis安装 java中的连接 序列化 反序列化
查看>>
hdu 1896 优先队列的应用
查看>>
递推和迭代的比较
查看>>
OpenGL 头文件,库文件
查看>>
点与不规则图形关系判断
查看>>
linux不开启图形界面
查看>>
菜鸟学习SSH(二)——Struts国际化
查看>>
iOS 自定义控件--重写一些方法
查看>>
第二次冲刺作业
查看>>
【转】HTML, CSS和Javascript调试入门
查看>>
折线图-小案例
查看>>
STL:优先队列Priority Aueue
查看>>
蓝桥历年试题 套娃
查看>>
EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
查看>>
作业一
查看>>