PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment lire le contenu d'un fichier .sql dans un script R pour exécuter une requête ?

J'ai moi-même eu du mal à lire les fichiers sql et j'ai constaté que souvent la syntaxe était cassée s'il y avait des commentaires sur une seule ligne dans le sql. Étant donné que dans R, vous stockez l'instruction sql sous la forme d'une chaîne à une seule ligne, s'il y a des doubles tirets dans le sql, il commentera essentiellement tout code après le double tiret.

C'est une fonction que j'utilise généralement chaque fois que je lis un fichier .sql à utiliser dans 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)
}