I thought I got this question answered, but I jumped the gun a little...
I ran into a snag, because the sub-query gets multiple rows. What I'm really looking to do is update all the rows in the detail table that correspond to the rows in the sub-query. SDutta says in the other question that it can only be done with a cursor, but I could've sworn I'd seen this in an update statement somewhere before.
Here's what the query looks like right now.
UPDATE DETAIL det
SET (rejects, modified_by, modify_date) =
smy.REJECT, 'myid' as modified_by, sysdate as modify_date
, CYCLE cyc
, SUMMARY smy
act.CYCLE_ID = cyc.CYCLE_ID
AND smy.CYCLE_ID = cyc.CYCLE_ID
AND smy.MONTH_YEAR = act.MONTH_YEAR
AND cyc.MARKET_ID = iMarketID
AND act.EVENT_ID = 32
AND act.CYCLE_TYPE = 'M'
AND act.actual_time < dtLastRpt
AND act.actual_time > dtPrevRpt
WHERE EXISTS (select 'x' from SUMMARY smy
WHERE det.CYCLE_ID = smy.cycle_id
and det.MONTH_YEAR = smy.month_year);