PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como ler o conteúdo de um arquivo .sql em um script R para executar uma consulta?


Eu mesmo tive problemas com a leitura de arquivos sql e descobri que muitas vezes a sintaxe é quebrada se houver comentários de linha única no arquivo sql. Como em R você armazena a instrução sql como uma string de linha única, se houver traços duplos no sql, ele comentará essencialmente qualquer código após o traço duplo.

Esta é uma função que normalmente uso sempre que estou lendo um arquivo .sql para ser usado em 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)
}