【问题标题】:Can I make sql server management studio not require [] around table names?我可以让 sql server management studio 不需要 [] 围绕表名吗?
【发布时间】:2017-02-14 13:40:18
【问题描述】:

如果我将查询复制并粘贴到 sql management studio 中进行调试,我必须将所有表名从 tableName 更改为 [database].[dbo].[tableName],这可以避免吗?

【问题讨论】:

  • 你说的是 Management Studio 吗?
  • 对不起,已编辑。
  • SSMS 在任何版本的 SQL Server 中都不需要方引号。你尝试过失败的事情吗?
  • 至少它需要数据库和模式名称。我曾希望有一个设置可以让我在不指定的情况下选择默认设置。

标签: sql-server sql-server-2008-r2 ssms


【解决方案1】:

您使用的数据库也很重要。当您打开默认查询窗口时,它会选择 Master 作为您的数据库。您可以手动将其更改为您的数据库,之后它将只接受表名,或者您可以在查询中指定 使用数据库名称;

否则,您需要在每个引用中指定 databasename.schema.table 名称。这也是您可以在同一查询窗口中跨多个数据库进行查询的方式。

【讨论】:

    【解决方案2】:

    [] 称为 QuoteName,当您没有对象的 valid identifier 时需要它。..

    举例

    失败了

    create table dbo.123
           (
           id  int
           )
    

    成功了

      create table dbo.[123]
           (
           id  int
           )
    

    总而言之,[] 不是必需的,如果你有一个有效的标识符并且当你没有一个时是必需的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多