PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come leggere il contenuto di un file .sql in uno script R per eseguire una query?

Ho avuto problemi con la lettura dei file sql da solo e ho scoperto che spesso la sintassi viene interrotta se ci sono commenti a riga singola in sql. Poiché in R memorizzi l'istruzione sql come una stringa di riga singola, se sono presenti doppi trattini in sql, essenzialmente commenterà qualsiasi codice dopo il doppio trattino.

Questa è una funzione che utilizzo in genere ogni volta che leggo un file .sql da utilizzare in R.

getSQL <- function(filepath){
  con = file(filepath, "r")
  sql.string <- ""

  while (TRUE){
    line <- readLines(con, n = 1)

    if ( length(line) == 0 ){
      break
    }

    line <- gsub("\\t", " ", line)

    if(grepl("--",line) == TRUE){
      line <- paste(sub("--","/*",line),"*/")
    }

    sql.string <- paste(sql.string, line)
  }

  close(con)
  return(sql.string)
}