R/customQuery.R

#' Custom SQL Query on existing connection
#'
#' Custom SQL Query on existing connection
#' @param query SQL query to be processed
#' @param return_query if TRUE function returns only character element with custom query
#' @param ... arguments passed to query
#' @examples
#' customQuery({"
#'   select *
#'   from mytable
#'   where id in (%s)"}, quoted(1:10), return_query=T)
#' customQuery({"
#'   select *
#'   from mytable
#'   where id in (%s)"}, quoted(1:10, collapse=","), return_query=T)
#' @export
customQuery <- function(query, ... ,return_query = FALSE, quiet = TRUE){
  dots <- list(...)
  if(grepl("\\.sql$",query)) query <- paste(readLines(query),collapse=" ")

  if(length(dots)>0)
    query <- sprintf(query, ...)

  if(return_query){
    return(query)
  } else {
    if(!quiet) cat(query)
    dbGetQuery(con, query)
  }

}
gogonzo/oddsandsods documentation built on May 12, 2019, 1:35 a.m.