在R中使用SQL时如何保存查询结果?

时间:2017-05-19 03:38:43

标签: sql r save

如果只是SQL,我们可以使用以下代码将查询结果保存在一个temperory表中,以便我们以后可以使用该结果。

CREATE TABLE #TEMPTABLE
(
    Column1 type1,
    Column2 type2,
    Column3 type3
)

INSERT INTO #TEMPTABLE
SELECT ...

SELECT *
FROM #TEMPTABLE ...

这个答案来自How to save select query results within temporary table? 但是,我使用R来连接HANA。我需要在R中使用SQL查询来从HANA中选择数据。我的查询结果需要一个临时表。我的代码是这样的:

sqlQuery(ch,paste('
                  CREATE TABLE #myTemp(
                     "/BIC/ZSALE_OFF"   INT
                  )
                  INSERT INTO #myTemp
                  SELECT
                  "/BIC/ZSALE_OFF"
                  FROM
                  "SAPB1D"."/BIC/AZ_RT_A212"
                  '))

我收到以下错误信息:

[1] "42000 257 [SAP AG][LIBODBCHDB DLL][HDBODBC] Syntax error or access violation;257 sql syntax error: incorrect syntax near \"INSERT\": line 5 col 19 (at pos 124)"                                                                                                                                                                                            
[2] "[RODBC] ERROR: Could not SQLExecDirect '\n                  CREATE TABLE #myTemp(\n                     \"/BIC/ZSALE_OFF\"   INT\n                  )\n                  INSERT INTO #myTemp\n                  SELECT\n                  \"/BIC/ZSALE_OFF\"\n                  FROM\n                  \"SAPB1D\".\"/BIC/AZ_RT_A212\"\n      

没有temperory结果部分,只是查询的代码是正确的:

sqlQuery(ch,paste('
                  SELECT
                  "/BIC/ZSALE_OFF"
                  FROM
                  "SAPB1D"."/BIC/AZ_RT_A212"
                  '))

我不确定语法是否正确,或者我还不明白。有人可以帮帮我吗?

0 个答案:

没有答案