0
使用MonetDB.R
我想運行這個命令,但我不想打開mclient。有沒有一種通用的方法來做到這一點?如何通過R將系統函數傳遞給monetdb?
create function div_noerror(l double, r double) returns double
使用MonetDB.R
我想運行這個命令,但我不想打開mclient。有沒有一種通用的方法來做到這一點?如何通過R將系統函數傳遞給monetdb?
create function div_noerror(l double, r double) returns double
從漢納斯的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")