这是我在网上找到的用于R的函数。如果我必须通过R运行.sql文件扩展名,可以有人向我解释如何在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)
}
此函数似乎正在读取某些SQL文本文件,然后对其进行一些处理。具体来说,关键逻辑似乎是这些代码行:
line <- gsub("\\t", " ", line)
if (grepl("--", line) == TRUE) {
line <- paste(sub("--", "/*", line), "*/")
}
sql.string <- paste(sql.string, line)
首先,所有标签(\t
)都被一个空格所取代。然后,包含--
的线(可能是仅有注释的线)被/*
替换,然后是注释,接着是*/
。也就是说,--
注释转换为C / C ++样式注释。然后,将当前行添加到正在运行的SQL字符串中。最后,从函数返回修改后的SQL字符串。
我不知道你为什么要使用它,但它基本上只是修改SQL脚本中的空格和注释。