我需要一个名为"客户端";,这个名字和我数据库里的名字一样。(这个例子是用表"客户机",但我需要更多其他名称的表(
tbl_import <- function (table)
{
sql<-glue_sql(paste0("select * from table"),.con=con)
table <- dbGetQuery(con,sql)
setDT(table)
table <<- copy(table)
table <<- table ##I replace with this too in another try but didn't work either
}
tbl_import("clients")
当我运行这个时,我没有名为"的data.table;客户端";,我得到一张名为";表";
使用assign()
在调用方环境(parent.frame()
(中创建具有自定义名称(table_name
(的变量
tbl_import <- function (table_name) {
sql <- glue_sql("select * from {`table_name`}",.con=con)
x <- dbGetQuery(con,sql)
assign(table_name, setDT(x), parent.frame())
}
tbl_import("clients")
只需将函数分配给一个新名称。
clients <- tbl_import("clients")