我知道我可以用以下代码在R中创建一个临时表:
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 Server。必须有一种从R中执行此操作的方法。我尝试过:
tabla<-data.frame(per=c(201508,201510))
sqlQuery(X, "Select * into ##temporal from tabla")
但是我收到了一个错误消息:
"42S02 208 [Microsoft][ODBC SQL Server Driver][SQL Server]对象名无效 'tabla'。" "[RODBC] 错误:无法 SQLExecDirect 'Select * into ##temporal from tabla '"
我也知道可以使用sqlSave创建一个表:
sqlSave(X, tabla, rownames=FALSE,safer=FALSE)
但是我想创建一个临时表。如何从R对象在SQL中创建一个临时表?
sqldf
一样通过sqlQuery
在查询中引用 R 会话 (tabla
) 中的对象。尝试使用sqlSave
或sqlUpdate
进行插入操作。 - nrussell