【问题标题】:dbo.dbo is this valid?dbo.dbo 这是有效的吗?
【发布时间】:2011-04-15 05:19:49
【问题描述】:

这是有效的dbo.dbo,如果是,这是什么意思?我在别人写的查询中发现了这一点:

from dbo.tmp_BDCode aob inner join dbo.dbo.tmp_BDCode_03 ao

它会对查询产生不利影响吗,因为dbo 只是意味着它是一个全局对象。

感谢大家对此的澄清。

【问题讨论】:

标签: sql-server tsql


【解决方案1】:

可能存在名为dbo 的数据库或名为dbo.dbo 的架构或名为dbo.tablename 的表。

这些命令是有效的:

create database dbo
use dbo
create schema [dbo.dbo]
create table [dbo.dbo].[dbo.tablename] (id int, name varchar(10))

select * from [dbo.dbo].[dbo.tablename] as dt
select * from dbo.[dbo.dbo].[dbo.tablename] as dt

这肯定会对以后必须阅读此源代码的程序员来说不够清晰。

【讨论】:

  • 有效:是。 Sane:不会。任何在我的服务器上玩这种特技的人都会被打湿 40 下。
  • 除非他自己拿出括号,否则唯一可以运行的方法是如果有一个名为dbo的数据库,对吧?
  • @Joe Stefanelli 哈哈!非常有趣!
猜你喜欢
  • 2011-03-07
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 2015-09-09
  • 2014-03-25
  • 2016-11-24
  • 2011-10-19
  • 2011-03-08
相关资源
最近更新 更多