gpt4 book ai didi

使用 USING : is not a recognized table hints option 的 SQL 连接

转载 作者:行者123 更新时间:2023-12-05 05:25:05 30 4
gpt4 key购买 nike

我有以下 JOIN:

SELECT * FROM tableA INNER JOIN tableB USING (commonColumn)

我得到一个错误:

"commonColumn" is not a recognized table hints option. If it is intended as a parameter to a table-valued function or to the CHANGETABLE function, ensure that your database compatibility mode is set to 90.

以下改为有效:

SELECT * FROM tableA INNER JOIN tableB ON tableA.commonColumn = tableB.commonColumn

在我的案例中,兼容性级别设置为 100 (SQL Server 2008),而顺便说一句,我使用的是 SQL Server 2012。

我做错了什么?我发现很难找到使用关键字 USING 的示例,因为几乎不可能进行相关的网络搜索。然而,当“连接列”具有相同的名称时,使用它似乎是正确的...

最佳答案

USING 不支持 SQL Server 语法。这不是 reserved keyword ,因此查询引擎将其用作表别名。

它是一个 ODBC 关键字,但处理方式略有不同。如果您使用它们,引擎不会总是提示,但无论如何您都不应该使用它们。

它也被列为 future 可能的保留关键字。新版本的 SQL Server 在核心保留列表中添加单词是很常见的。

就我个人而言,我没有看到他们添加 NATURAL JOIN 语法支持,即使使用了 USING。许多 DBA 认为 NATURAL JOIN 有问题。

关于使用 USING : <column name> is not a recognized table hints option 的 SQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479936/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com