플젝 준비기간이라 R 스크립트 공부 겸 기존 플랫폼 연구 개선 중인데 장문의 Query문의 경우 중간중간에 들어가는 변수들을 외부에서 처리하려고 하니 paste문을 많이 써야 하는 단점이 있다.. 개선할 수 있는 방법이 없을까 하다가 예전에 php 할 때 했던 템플릿 처리 방법이 생각나서 어설프게 적용해봄....(기억이 잘 안남...)
여튼 요지는 Query 문을 따로 두고 Query 문 안에 대체할 변수위치를 지정해둔 후 해당 쿼리를 불러서 입력하고자 하는 값을 대체하는 방법으로 하는건데 gsub() 함수가 유용하네..
쿼리문의 복잡하면 이게 편하지 않을까 생각함...
require(RJDBC);
require(rJava);
getDate <- "20131210";
drv <- JDBC(driverClass = "", classPath = "", "`");
conn <-
dbConnect(drv,
"jdbc:oracle:thin:@[주소]:1521:orcl",
"user", "password");
query <- "SELECT * FROM [:tableName:] WHERE [:dateColName:] <= '[:dateValue:]'";
df <-
data.frame(matrix(
c("[:tableName:]", "OBS_TEMP",
"[:dateColname:]", "WARN_DATE",
"[:dateValue:]", getDate),
ncol=2,
byrow=TRUE)
);
value.change.query <- function(query, df) {
for(i in 1:nrow(df)) {
query <- gsub(df[i,1], df[i,2], query, fixed=TRUE);
}
return(query);
}
query <- value.chagne.query(query, df);
dbGetQuery(conn, query);
'Data Analysis > R' 카테고리의 다른 글
R : Errorbar (0) | 2014.03.19 |
---|---|
R : ggplot2 - boxplot + scatterplot(jittering) (0) | 2014.02.14 |
R : RJDBC를 이용한 Oracle 연결하기 (0) | 2013.11.27 |
R : odbc를 사용하여 MSSQL 접속 (0) | 2013.11.18 |
R : XML 데이터를 Parsing하여 데이터로 처리하기 (2) | 2013.11.15 |
댓글