sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man kör sql-frågefiler via RPostgreSQL

dbSendQuery eller dbGetQuery är bara för "SQL"-delen, inte psql-kommandon som \i .
I ditt fall är det enklaste att använda readLines men radera sedan dbGetQuery i en sapply ring.

con <- dbConnect(...)          #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)

Eftersom jag använder detta väldigt ofta har jag en genväg för detta i min .Rprofile fil:

dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))

Naturligtvis kan du också gå till system sätt:

system("psql -U username -d database -h 127.0.0.1 -p 5432 -f query.sql") #Remember to use your actual username, database, host and port



  1. sp_executesql är långsam med parametrar

  2. MySQL Alter Table Kolumn

  3. Är SELECT COUNT(kolumn) snabbare/långsammare än SELECT COUNT(*)?

  4. Hur man väljer mysql-rader i ordningen IN-sats