업데이터 구문이 잘못되지 않았는데..
local query tool에서 실행하면 되거든요.
그런데 java에서 executeUpdate하면 안되네요..ㅠ.ㅠ
답변부탁드립니다.
쿼리를 찍어 보시죠~
해당쿼리예요
이 쿼리가 로컬 query tool에서 실행하면 수행이 되는데..
자바에서 수행 하면 업데이트가 되지 않습니다.(몇건 update됐다고 로그에 찍히기는 하지만..
실제 데이터는 업데이트 안되어잇음)
답변 부탁드려요.
update mobj_populator
set obj_ind5= c.chg_knd
, obj_no1 = c.colcnt
from mobj_populator t
,colcount c
where t.biz_key1 = c.biz_key1
and t.abbr_name = c.biz_key2
and t.class_id = 500100
[java]
query.append( " select biz_key1, biz_key2, convert(char,max(convert(int, (obj_ind5)))) as chg_knd, count(*) as colcnt into colcount \n\r " ) ;
query.append( " from mdnav..mobj_populator c \n\r " ) ;
query.append( " where c.class_id = 500101 \n\r " ) ;
query.append( " group by biz_key1, biz_key2 \n\r " ) ;
/////////////////////update 가 안된다..이상하다...
query2.append( " update mobj_populator \n\r " ) ;
query2.append( " set obj_ind5= c.chg_knd \n\r");
query2.append( " , obj_no1 = c.colcnt \n\r");
query2.append( " from mobj_populator t \n\r " ) ;
query2.append( " ,colcount c \n\r " ) ;
query2.append( " where t.biz_key1 = c.biz_key1 \n\r " ) ;
query2.append( " and t.abbr_name = c.biz_key2 \n\r " ) ;
query2.append( " and t.class_id = 500100 \n\r " ) ;
//query2.append("commit ");
query3.append( " drop table colcount \n\r " ) ;
try {
System.out.println("Query : " + query.toString());
System.out.println("Query2 : " + query2.toString());
System.out.println("Query3 : " + query3.toString());
pstmt = this.con.prepareStatement( query.toString() );
isSuccess = pstmt.executeUpdate();
if(isSuccess > 0){
pstmt2 = this.con.prepareStatement( query2.toString() );
isSuccess2 = pstmt2.executeUpdate();
}
pstmt3 = this.con.prepareStatement( query3.toString() );
isSuccess3 = pstmt3.executeUpdate();
System.out.println("isSuccess(colcount table create/insert ) : " + isSuccess + " isSuccess2(비교후 update) : " + isSuccess2 + " isSuccess3(colcount table drop) : " + isSuccess3);
update mobj_populator ... from mobj_populator t 요문장을 update mdnav..mobj_populator ... from mdnav..mobj_populator t 바꿔야 할 듯..