为什么 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 行:
你的声明“不适用于non-numeric数据”是完全错误的,DBI
(SQL服务器)支持SQL服务器的bit
、integer
、float
变种、datetimeoffset
变种、char
/varchar
/nchar
/nvarchar
变体等
建议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。虽然我曾预计 odbc
的 PR 345 会在 odbc-1.3.0 中解决这个问题,但它似乎无法正确处理第一个结果集(4
,插入的行数) 和第二个(四行数据)。
无法理解为什么 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 行:
你的声明“不适用于non-numeric数据”是完全错误的,
DBI
(SQL服务器)支持SQL服务器的bit
、integer
、float
变种、datetimeoffset
变种、char
/varchar
/nchar
/nvarchar
变体等建议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。虽然我曾预计 odbc
的 PR 345 会在 odbc-1.3.0 中解决这个问题,但它似乎无法正确处理第一个结果集(4
,插入的行数) 和第二个(四行数据)。