为什么 table 变量 SQL 在 R Markdown 中没有 return 值?

Why table variable SQL doesn't return values in R Markdown?

无法理解为什么 R Markdown 没有 return table 变量 SQL 的值?我在 R Studio 中使用笔记本。

例如:

declare @CountriesTable as TABLE (countries varchar(2))
        insert into @CountriesTable values ('us'), ('gb'), ('de'), ('fr')
 
 select * from @CountriesTable

在 MSSMS returns

在 R Markdown 中我得到 0 行:

  1. 你的声明“不适用于non-numeric数据”是完全错误的,DBI(SQL服务器)支持SQL服务器的bitintegerfloat变种、datetimeoffset变种、char/varchar/nchar/nvarchar 变体等

  2. 建议here,添加SET NOCOUNT ON.

示范:

---
title: Why table variable SQL doesn't return values in R Markdown?
---

```{r setup}
library(DBI)
con <- DBI::dbConnect(odbc::odbc(), ...) # redacted
```

```{sql connection=con}
set nocount on
declare @CountriesTable as TABLE (countries varchar(2))
insert into @CountriesTable values ('us'), ('gb'), ('de'), ('fr')
select * from @CountriesTable
```

最终,我认为问题是 DBI 不处理多个 result-sets。虽然我曾预计 odbcPR 345 会在 odbc-1.3.0 中解决这个问题,但它似乎无法正确处理第一个结果集(4,插入的行数) 和第二个(四行数据)。