拳头我正在执行以下 R 命令,它从 postgresql 返回一组记录
col_qry <- paste("select column_name from table1",sep="")
rs_col <- dbSendQuery(r,col_qry)
temp_list <- fetch(rs_col,n=-1)
使用 R 打印时,返回的数据显示为以下格式print(temp_list)
column_name
1 col1
2 col2
3 col3
4 col4
现在基于这个返回的数据,我想生成另一个应该是这样的 sql 语句
copy (select "col1","col2","col3","col4" from table2 )
当我这样做时
tmp_cp <- paste("copy (select ",col_list,",","from table2",sep="")
然后打印这个tmp_cp
而不是一个copy
语句打印一堆copy
语句,一个用于select中的每个列名,如下所示
copy (select col1 from table2 )
copy (select col2 from table2 )
copy (select col3 from table2 )
copy (select col4 from table2 )
and so on...
我只想要一个copy
将所有列名一起提到的语句,每个都""
用,
. 我怎样才能做到这一点?
更新:当我使用这些语句时
col_list <- toString(shQuote(temp_list$column_name))
tmp_cp <- paste("copy (select ",col_list,",","from table2",sep="")
然后只生成一个语句,但列名在单引号内,而不是像这样的双引号:
copy (select 'col1','col2','col3','col4' from table2 )
注意:我在上面提到了 4 列,但并不是只有 4 列。列可以很多。为了解释,我显示了 4 列