如何在plr中的db中将数据帧写为表

时间:2017-01-10 10:39:31

标签: plr

我想在plr中将数据帧写回数据库。

在标准R中,我可以这样做:

require("RPostgreSQL")
con <-  dbConnect(dbDriver("PostgreSQL"), dbname = , port = ,  user = )
data(iris)
dbWriteTable(con, 'iris', iris, row.names=FALSE)

但是在plr中我已经连接到数据库了。 我在这里查看了plr文档:http://www.joeconway.com/plr/doc/plr-US.pdf但是找不到示例,也找到了这个sqlshorthands.R文档,但是这个例子对我没用。

1 个答案:

答案 0 :(得分:1)

--PostgreSQL always needs to know the function return type!
create or replace function r_iris(
    OUT "Sepal.Length" float8,
    OUT "Sepal.Width" float8, 
    OUT "Petal.Length" float8, 
    OUT "Petal.Width" float8, 
    OUT "Species" text)
returns setof record
As 
$$
data('iris')
iris
$$ LANGUAGE plr;

--assume there is an existing schema called testing
Select * into testing.iris From r_iris();