【发布时间】:2017-02-01 18:38:08
【问题描述】:
我正在研究应该是 SQL Server 2014 的超级简单查询。我要做的就是检查我们的系统是否可以在更新后与 SQL Server 交互等。所以我只需要验证它是否建立了连接正确并在服务器中找到一个表。
尝试 1:
SELECT TOP (1) *
From [X].[dbo].[Y]
WITH (NOLOCK);
但显然 'top' 不是 SQL Server 2014 支持的选项。 要添加更多内容,这是我在尝试运行时遇到的确切错误:语法错误。令牌“顶部”无效。请检查您的运算符的大小写(例如,'or' 与 'OR')并检查您的函数是否在函数名称后使用括号,例如 Now(),例如 Len("abc")。
尝试 2:
SELECT *
From [X].[dbo].[Y]
WITH (NOLOCK)
LIMIT (1);
那个告诉我,我需要将数据项放在 [] 之间,将文本放在“”之间,并将函数作为 FunctionName()。但是...我看不出我错过了其中的任何一个。
任何人都可以解释为什么我的查询没有通过吗?任何帮助将不胜感激。
【问题讨论】:
-
首先,请不要使用 NOLOCK。这会给您带来意想不到的问题。
-
SQl Server 不支持限制。然而,前 1 名是。我可以在我的 SQL Server 数据库中运行类似于您的查询。您遇到了什么具体错误?
-
有人告诉我,NOLOCK 在流量很大的服务器上是个好主意。无论如何,从任何一个中删除它都不能解决问题。 McNets,我不能那样尝试,因为我被告知 'top' 是一个无效的令牌。
-
另外你是如何运行这段代码的?直接来自 SSMS 还是来自某些应用程序代码?
-
HLGEM 它说语法错误。令牌“Top”无效。
标签: sql-server database select