PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

panggil fungsi SQL dalam fungsi R

Caranya adalah dengan menggunakan shQuote dan sprintf tapi saya yakin ada cara cerdas untuk melakukannya.

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

Jika Anda ingin menghindari mengutip string maka Anda dapat menggunakan

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. Bagaimana Atan2() Bekerja di PostgreSQL

  2. Menggunakan Django ORM di utas dan menghindari terlalu banyak pengecualian klien dengan menggunakan BoundedSemaphore

  3. Peringatan menjengkelkan Wayang dan Postgres:Melewati versi ke postgresql::server sudah usang

  4. Ekspor hanya tampilan di Postgres

  5. Bagaimana cara memfilter array json per setiap baris yang dikembalikan?