使用RODBC同时执行多个SQL语句

时间:2017-08-14 21:39:54

标签: sql r rodbc

我有一个相当复杂的SQL查询,我试图通过RODBC运行,涉及定义变量。简化版本如下所示:

library(RODBC)
q <- "DECLARE @VARX CHAR = 'X';\nSELECT * FROM TABLE WHERE TYPE = @VARX;"
sqlQuery(ch, q)
# returns character(0)

运行此代码可以正常运行。这失败了:

for (i in seq_along(Data3)) {
  Data3[[i]]$Count <- as.numeric(Data3[[i]]$Count)
  n <- nrow(Data3[[i]])
  Data3[[i]]$perc <- Data3[[i]]$Count / Data3[[i]]$Count[n]
} 

> Data3
[[1]]
# A tibble: 7 x 3
        Loc Count        perc
      <chr> <dbl>       <dbl>
1  Montreal  2344 0.248805859
2   Toronto  2322 0.246470651
3 Vancouver   122 0.012949793
4    Quebec    45 0.004776563
5    Ottawa  4544 0.482326717
6  Hamilton    44 0.004670417
7     Total  9421 1.000000000

[[2]]
# A tibble: 7 x 3
        Loc Count        perc
      <chr> <dbl>       <dbl>
1  Montreal  2344 0.248805859
2   Toronto  2322 0.246470651
3 Vancouver   122 0.012949793
4    Quebec    45 0.004776563
5    Ottawa  4544 0.482326717
6  Hamilton    44 0.004670417
7     Total  9421 1.000000000

我通过实验发现分号前的第一个语句已执行,但其余的则没有。有没有办法执行完整查询?

我顺便使用SQL服务器。

编辑这被标记为this问题的副本,但他们提出了完全不同的问题。在这个问题中,我想执行一个包含多个语句的脚本,而在另一个中,作者只是尝试执行一个语句。

0 个答案:

没有答案