【发布时间】:2022-06-15 02:59:58
【问题描述】:
我正在尝试使用 RODBC 包查询 Microsoft SQL 表。 以下查询工作正常:
data<-sqlQuery(dcs, 'SELECT Classification_Code, Country_Code FROM ICP_Submissions.dbo.ICP_Fact WHERE Classification_Code IN (\'EXP\') AND Indicator_Code IN (\'1000000\',\'1100000\') ')
但是,如果按以下方式添加命令LIMIT 100
data<-sqlQuery(dcs, 'SELECT Classification_Code, Country_Code FROM ICP_Submissions.dbo.ICP_Fact WHERE Classification_Code IN (\'EXP\') AND Indicator_Code IN (\'1000000\',\'1100000\') LIMIT 100')
我收到以下错误
42000 102 [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'LIMIT'.
如果我使用包 DBI 的 dbGetQuery 函数,我会收到类似的错误消息。 知道我做错了什么吗?
【问题讨论】:
-
什么是数据库?它可能需要在
LIMIT子句之前有一个ORDER BY子句,或者可以使用TOP来实现。 -
[ODBC SQL Server Driver][SQL Server]: 两个要点:(1) SQL Server 不知道LIMIT,而是使用TOP。将SELECT ... LIMIT 100更改为SELECT TOP 100 ...。 (2) ODBC 驱动程序很古老,您应该升级,从那时起已经有 很多 的更改/改进。