繁体   English   中英

如何通过R将系统功能传递给MonetDB?

[英]hHw to pass a system function to MonetDB through R?

使用MonetDB.R ,我想运行此命令,但是我不想打开mclient。 有通用的方法可以做到这一点吗?

create function div_noerror(l double, r double) returns double

来自MonetDB.R的作者MonetDB.R

您可以在数据库中创建它。 如果它已经存在,它将失败,但是您可以捕获该错误。 所以

dbSendQuery(con, "create function div_noerror(l double, r double) returns double external name calc.div_noerror”) should work.

这是一个稍长的用法示例:

# example of division
dbGetQuery( con , "SELECT 1 / 2 AS a" )

# example of division by zero, which causes an error
dbGetQuery( con , "SELECT 1 / 0 AS a" )

# load the `div_noerror` function through a system call
dbSendQuery( con , "CREATE FUNCTION div_noerror(l DOUBLE, r DOUBLE) RETURNS DOUBLE EXTERNAL NAME calc.div_noerror" ) 

# use the div_noerror function instead of the `/` operator
dbGetQuery( con , "SELECT div_noerror( 1 , 2 ) AS a" )

# division by zero now returns a missing instead of crashing the entire query
dbGetQuery( con , "SELECT div_noerror( 1 , 0 ) AS a" )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM