sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo leer el contenido de un archivo .sql en un script R para ejecutar una consulta?

Yo mismo tuve problemas para leer archivos sql y descubrí que muchas veces la sintaxis se rompe si hay comentarios de una sola línea en el sql. Dado que en R almacena la instrucción sql como una cadena de una sola línea, si hay guiones dobles en el sql, esencialmente comentará cualquier código después del guión doble.

Esta es una función que normalmente uso cada vez que leo un archivo .sql para usar en 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)
}