sql >> Databáze >  >> RDS >> PostgreSQL

Jak spouštět soubory dotazů SQL přes RPostgreSQL

dbSendQuery nebo dbGetQuery je pouze pro část "SQL", nikoli pro příkazy psql, jako je \i .
Ve vašem případě je nejjednodušší použít readLines ale pak zabalte dbGetQuery v sapply zavolejte.

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

Protože to používám velmi často, mám pro to zkratku ve svém .Rprofile soubor:

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

Samozřejmě můžete také přejít na system způsob:

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. Najděte MAX SUM v MySQL

  2. Kontrola/změna úrovně kompatibility databáze v SQL Server (SSMS)

  3. Použití REGEXP_SUBSTR s kvalifikátorem řetězců

  4. php/mysql s více dotazy