-2

我正在尝试使用“Microsoft Query”执行一个非常简单的 SQL 查询。我可以连接到表,选择我需要的列,但是当我尝试执行时,我收到错误消息“关键字'IS'附近的语法不正确”

我通过自动查询得到了下面的 SQL 语句,但它没有成功执行。我想我知道问题是什么。这是因为我的数据库目录名称是“IS”。我尝试在具有不同名称的其他数据库上执行相同的查询,它工作正常。由于我可以访问多个数据库,因此我需要在脚本中指定要访问的数据库,而这正是导致此问题的原因。在我的情况下是否有解决方法可以避免使用数据库名称并可能声明一个变量?

SELECT Table1.id, 
Table1.Name, 
Table1.Status,
Table1.DateEntered
FROM IS.dbo.Table1 Table1

或者

SELECT * FROM IS.dbo.Table1 Table1 (Same error msg)
4

2 回答 2

7

IS是一个 SQL 保留关键字,你必须用[]

SELECT * FROM [IS].dbo.Table1 Table1 (Same error msg)

但是,在不使用保留关键字的情况下命名表或始终在表名周围使用方括号是一种很好的做法 - 并且是避免错误的技术

于 2013-05-28T20:22:07.077 回答
3

我假设IS是一个保留关键字。尝试用方括号括起来:

SELECT Table1.id, Table1.Name, Table1.Status, Table1.DateEntered FROM [IS].dbo.Table1 Table1
于 2013-05-28T20:22:40.563 回答