用INSERT也许可以:
 Insert D_DKMX_TEMP (ZJRQ,ZH,ZBXS,XBKHJILH,XBXS,JGKHJILH,JGRQ) SELECT TO_DATE('2002-7-31','yyyy-mm-dd'),ZH,ZBXS,XBKHJILH,XBXS,JGKHJILH,JGRQ FROM D_DKMX_TEMP WHERE b_new.zjrq = TO_DATE('2002-6-30','yyyy-mm-dd');
 另外你这样写试试:
update  D_DKMX_TEMP b_new set (zbxs,xbkhjilh,xbxs,jgkhjilh,jgrq) = (select zbxs,xbkhjilh,xbxs,jgkhjilh,jgrq from D_DKMX_TEMP a_old where a_old.zh = b_new.zh and a_old.zjrq = TO_DATE('2002-6-30','YYYY-MM-DD')) where b_new.zjrq = TO_DATE('2002-7-31','YYYY-MM-DD');