【问题标题】:In SQL Server (2012), when can I just use a table name "Foo" w/o the full qualification dbname.dbo.Foo?在 SQL Server (2012) 中,我什么时候可以只使用表名“Foo”而不使用完整的限定 dbname.dbo.Foo?
【发布时间】:2013-10-14 21:10:52
【问题描述】:

管理工作室中是否有设置允许我在创建新查询时仅使用:

SELECT * FROM Foo

而不是

SELECT * FROM dbname.dbo.Foo

当然假设没有歧义?

目前我收到一条错误消息。谢谢。

【问题讨论】:

标签: sql-server ssms


【解决方案1】:

您可以在 SQL Server 2012 中为用户设置默认架构。

Here is the MSDN page

注意:架构设置一次后就无法更改。

【讨论】:

    【解决方案2】:

    从下拉列表中选择您的数据库名称,然后如果列名有任何歧义,只需使用两个部分名称,即 TABLENAME.ColumnName
    当您打开一个新的查询窗口时,它会在 Master 数据库上下文中打开它,并且多年来一直使用 sql server 的人经常会犯这个错误,即打开查询窗口并开始执行脚本在主数据库中。所以你不是唯一的一个:)

    您也可以使用 USE 语句,即

    USE DataBase_Name
    GO
    
    //your query.........
    

    【讨论】:

    • 感谢大家的精彩回答。知道了。 :-)
    猜你喜欢
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多