PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

gọi hàm SQL trong hàm R

Mẹo là sử dụng shQuotesprintf nhưng tôi chắc chắn có một cách thông minh để làm điều đó.

Tùy chọn thư viện
library(sqldf)
library(RPostgreSQL)

options(sqldf.RPostgreSQL.user = "****",
        sqldf.RPostgreSQL.dbname = "****",
        sqldf.RPostgreSQL.host = "localhost",
        sqldf.RPostgreSQL.port = 5432)

myfunc <- function(name)
    sqldf(sprintf("select * from retrieve_data(%s)", shQuote(name)))

myfunc('Bill')
##   id name year_born nationality
## 1 A1 Bill      2001    American
## 2 A2 Bill      1991    American
## 3 A3 Bill      1995    American

Nếu bạn muốn tránh trích dẫn chuỗi thì bạn có thể sử dụng

drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, dbname = "tempdb")
myfunc2 <- function(name)
    dbGetQuery(con, "select * from retrieve_data($1)", name)

myfunc2("Bill")
##   id name year_born nationality
## 1 A1 Bill      2001    American
## 2 A2 Bill      1991    American
## 3 A3 Bill      1995    American



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chuyển đổi từ giờ địa phương sang UTC?

  2. số nguyên ngoài phạm vi và dung lượng đĩa còn lại quá nhỏ để chuyển đổi id thành bigint và các giải pháp khác

  3. 30 bảng có ít hàng - TRUNCATE cách nhanh nhất để làm trống chúng và đặt lại các chuỗi đính kèm?

  4. Hibernate không thể tạo lược đồ tự động trên Heroku postgres

  5. Cài đặt Postgres trên windows để sử dụng với Ruby-on-Rails