0

所以我将一个参数传递给我的 R 脚本。然后,我使用该参数作为逻辑的一部分来命名 SQL 结果表,稍后我将用数据填充和创建该表。我首先执行以下操作,并用我想要的表的名称填写 DestinationTable。

DestinationTable <- paste("xx.TableName",args[4],sep = "")

在我这样做之后,我运行了一个 print(DestinationTable) 并且一切看起来都很好。然后,当我执行如下所示的 sqlSave 时,它​​实际上使用“DestinationTable”作为表名,而不是我放入 DestinationTable 的字符串(例如“xx.TableNameArg4”)

sqlSave(ch, data.frame(DestinationTable), rownames = FALSE)

如何获取存储在 DestinationTable 中的值并使用它而不是使用文字“DestinationTable”?

谢谢你的帮助!

4

1 回答 1

3

我相信你误解了当你写 data.frame(DestinationTable) 时会发生什么。让我们在这里看一个例子:

> DestinationTable = "myTable"
> data.frame(DestinationTable)
  DestinationTable
1          myTable

基本上,您会得到一个 data.frame 对象,其中有一列名为 DestinationTable(您的变量名),其中一行包含“myTable”(变量值)。

您可能需要做的是使用 sqlSave 中的 tablename 参数,如下所示:

sqlSave(ch, data, tablename=DestinationTable)

这假设有一个名为“数据”的 data.frame,其中包含您要写入表中的实际数据。

于 2013-06-19T17:45:09.677 回答