Oracle – Is there another way to replace the cursor for the following scenario

Table IA

Id Status Details
1 aaa open
2 close bbb
3 open ccc
4 open ddd
5 open eeee
6 open ffff
7 open gggg
8 close iii
9 close hhh
10 open yyy
Primary key ID

Table Snapshot_IA

Id Status Details
1 aaa open
2 close bbb
3 open ccc
4 open ddd
5 open eeee
4 open ffff
5 open sdsd
4 open sdsdd  
  1. IA table data changes daily
  2. Snapshot table does not have a primary key
  3. Snapshot table should contain new rows from table IA
  4. The snapshot table should receive rows from the IA table if the ID table ID exists in the snapshot table, but the status is open in the snapshot table

e.g.

Select T1.id1, ​​T1.status, T1.details
IA T1,
snapshot_IA T2
from where
T1.id1 = T2.ID1
and T2.status <> & # 39; close & # 39;  

One possibility is to use the cursor.

Can you suggest a more efficient way than this?