是你的用户权限所致。如果你用SA登录,查询本服务器里的数据库是不用加DBO的。 另 如果你做跨服务器查询时就要用到DBO。 如 select from sf11raybendbotable1 两个特殊数据库用户: dbo,数据库的拥有者,在安装sqlserver时,被设置到model数据库中,不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力者,对应于创建该数据库的登陆用户,即所有的数据库的dbo都对应于sa帐户; guest,这个用户可以使任何已经登陆到sqlserver服务器的用户都可以访问数据库,即使它还没有成为本数据库的用户。所有的系统数据库除model以外都有guest用户。所有新建的数据库都没有这个用户,如果有必要添加guest用户,请用sp_grantdbaccess来明确建立这个用户。
dbo 和Person都是架构名,默认的架构都是以dbo 开头的 一般我们在调用数据库
数据库名构架名表名,这种方式在不同的数据库。
当在同一个数据库中时就可以省略数据库名,只需要构架名表名,这是在表中只有相同的架构的情况下,只需要直接用表名就可以了select from 表 ,如果存在架构有多种的话就需要在调用中用 构架名表名 select from 架构名表。
他们起到识别功能,比方说表名相同都叫 a,但是一个是dbo 架构的,一个是 Person,在调用过程中是不一样的,select from dbo表
select from person表 不写架构名则默认为dbo。
写的好辛苦,不知道你懂了吗?
以上就是关于SQL2005创建表,为什么前面有dbo.+表名全部的内容,包括:SQL2005创建表,为什么前面有dbo.+表名、SQLserver AdventureWorks数据库中有些表中前面是dbo,有些表前面是Person等,请问这是什么意思,有什么用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)