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

Hvordan læser man indholdet af en .sql-fil ind i et R-script for at køre en forespørgsel?

Jeg har selv haft problemer med at læse sql-filer, og har fundet ud af, at syntaksen ofte bliver brudt, hvis der er kommentarer på en enkelt linje i sql. Da du i R gemmer sql-sætningen som en enkelt linjestreng, vil hvis der er nogen dobbeltstreg i sql'en, i det væsentlige kommentere enhver kode efter den dobbelte bindestreg.

Dette er en funktion, som jeg typisk bruger, når jeg læser i en .sql-fil, der skal bruges i 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)
}


  1. MySQL:Hurtigste måde at tælle antal rækker på

  2. Fejlfinding af SQL Server Always On Availability Groups

  3. Hvordan udfylder man kalendertabellen i Oracle?

  4. Beregn alderen i år i PostgreSQL