所以我正在向我的R脚本传递一个参数。然后我使用参数作为我的逻辑的一部分来命名SQL结果表,我将在后面填充并使用数据创建。我首先执行以下操作,并使用我想要的表的名称填充DestinationTable。
DestinationTable <- paste("xx.TableName",args[4],sep = "")
执行此操作后,我运行打印(DestinationTable),一切正常。然后当我像下面那样执行sqlSave时,它实际上使用“DestinationTable”作为表名而不是我放入DestinationTable的字符串(例如“xx.TableNameArg4”)
sqlSave(ch, data.frame(DestinationTable), rownames = FALSE)
如何获取存储在DestinationTable中的值并使用它而不是使用文字“DestinationTable”?
感谢您的帮助!
答案 0 :(得分:3)
我相信你误解了写data.frame(DestinationTable)时会发生什么。我们在这里看一个例子:
> DestinationTable = "myTable"
> data.frame(DestinationTable)
DestinationTable
1 myTable
基本上你得到一个data.frame对象,其中一个名为DestinationTable的列(你的变量名),其中一行包含“myTable”(变量值)。
您可能需要做的是使用sqlSave中的tablename参数,如下所示:
sqlSave(ch, data, tablename=DestinationTable)
这假设有一个名为'data'的data.frame,其中包含您要写入表中的实际数据。