मुझे स्वयं एसक्यूएल फाइलों को पढ़ने में परेशानी हुई है, और मैंने पाया है कि एसक्यूएल में कोई भी लाइन टिप्पणियां होने पर अक्सर सिंटैक्स टूट जाता है। चूंकि आर में आप एसक्यूएल स्टेटमेंट को सिंगल लाइन स्ट्रिंग के रूप में स्टोर करते हैं, अगर एसक्यूएल में कोई डबल डैश है तो यह अनिवार्य रूप से डबल डैश के बाद किसी भी कोड पर टिप्पणी करेगा।
यह एक ऐसा फ़ंक्शन है जिसका उपयोग मैं आम तौर पर तब करता हूं जब मैं आर में उपयोग की जाने वाली .sql फ़ाइल में पढ़ रहा होता हूं।
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)
}