我知道我可以使用 R 在 SQL 中创建临时表,例如:
require(RODBC)
X<- odbcDriverConnect('driver={SQL Server};
server=s001000;database=X1;trusted_connection=true')
sqlQuery(X, "create table #temptable (test int)" )
sqlQuery(X, "insert into #temptable(test) values(201508)")
doesItWork <- sqlQuery(X, "select * from #temptable")
但我想从 R 对象在 sql server 中创建一个临时表(我有一个表,其中包含先前 R 计算的结果,我需要针对 SQL 中的另一个表查询它。我不想将其导出为txt 并将其上传到 SQL 服务器。它必须是一种从 R 执行此操作的方法。我尝试过:
tabla<-data.frame(per=c(201508,201510))
sqlQuery(X, "Select * into ##temporal from tabla")
但我收到一条错误消息:
“42S02 208 [Microsoft][ODBC SQL Server 驱动程序][SQL Server]无效
对象名称‘塔布拉’。”
“[RODBC] 错误:无法 SQLExecDirect
'从塔布拉中选择 * 到 ##temporal '"
我还知道我可以使用 sqlSave 创建一个表:
sqlSave(X, tabla, rownames=FALSE,safer=FALSE)
但我想创建一个暂时的桌子。
如何从 R 对象在 SQL 中创建临时表?