dbSendQuery
या dbGetQuery
केवल "एसक्यूएल" भाग के लिए है, न कि psql कमांड जैसे \i
.
आपके मामले में वास्तव में सबसे आसान है readLines
. का उपयोग करना लेकिन फिर dbGetQuery
wrap को रैप करें sapply
. में कॉल करें।
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
चूंकि मैं इसका बहुत बार उपयोग करता हूं, इसलिए मेरे पास इसके लिए मेरे .Rprofile
. में एक शॉर्टकट है फ़ाइल:
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
बेशक, आप system
. भी जा सकते हैं रास्ता:
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