Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> can you make this faster, please
DECLARE
CURSOR c_customers is
SELECT rowid customer_rowid,
customer_number, address
OPEN c_customers; FETCH c_customers INTO v_customers; WHILE c_customers%FOUND LOOP BEGIN SELECT T1.address INTO v_customers.address FROM CUSTOMERS T1, ADDRESES T2 WHERE T1.customer_number =v_customers.customer_number and T1.cust_id = T2.cust_id; EXCEPTION WHEN NO_DATA_FOUND THEN v_customers.address := null; END; BEGIN UPDATE NEW_TABLE SET address = v_customers.address WHERE rowid = v_customers.customer_rowid; END; v_customers.address := NULL; FETCH c_customers INTO v_customers; END LOOP; CLOSE c_customers; COMMIT;