포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
XE의 executeQuery()에서 update를 array로 넘겨서 작업할 수 있나요?
2012.09.27 11:49
일단, DB class 소스를 보기에는 기능이 지원되지 않는 듯 한데,
executeQuery(query id, $obj); 나 executeQueryArray(query id, $obj); 를 수행할 때, $obj에 여러 건을 넘겨서 DB 작업을 수행하려고 했더니, 잘 되지 않더라구요.
제가 의도했던 소스를 요약하면,
$items_selected = executeQueryArray( 셀릭트 쿼리ID, $obj);
$obj = $items_selected->data;
{ $items_selected->data 의 값을 바꾸는 부분... }
$output = executeQuery( 업데이트 쿼리ID, $obj);
으로, $items_selected->data에는 3개의 라인이 있고, 이 셋의 값을 새로운 값으로 바꿔서, DB table에 업데이트 하는 것입니다.
그런데, array로 넘겨서 한번에 업데이트를 수행하려고 했더니 안되더라구요..
그래서, 일단 foreach로 건별로 executeQuery를 했더니 제대로 작동은 하는데, 문제는 매일 밤마다 여러 개의 테이블에 대해 총 약 5,000건 정도를 자동으로 업데이트 하게 되는데, 건별로 query를 수행하는건 성능에 최악이기 때문에 이렇게 두고 싶지는 않거든요.
요약하면, array로 object를 넘겨서 한번에 query를 수행하는 방법을 아시는 분들의 조언을 부탁할께요.
xml파일을 봐야 확실히 알 수 있을 것 같네요...