我试图使用"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)
IS
是SQL保留关键字,必须用[]
包装
SELECT * FROM [IS].dbo.Table1 Table1 (Same error msg)
然而,是一个很好的实践——也是避免错误的技术——不使用保留关键字来命名表,或者总是在表名
我假设IS
是一个保留关键字。试着用方括号括起来:
SELECT Table1.id, Table1.Name, Table1.Status, Table1.DateEntered FROM [IS].dbo.Table1 Table1