DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Cursors In PL/SQL
// How to implement a looping cursor in PL/SQL. I used one very much like this one // recently to fix incorrectly input 4-year dates (the system would show '0008' rather // than '2008'
declare old_date date; new_date date; v_event_key events.event_key%TYPE; CURSOR c1 IS select event_key, event_date from events where event_date < to_date('01/01/1000','mm/dd/yyyy'); begin OPEN c1; LOOP FETCH c1 INTO v_event_key, old_date; EXIT WHEN c1%NOTFOUND; select add_months(old_date,+24000) into new_date from dual; DBMS_OUTPUT.PUT_LINE('old_date ' || to_char(old_date, 'mm/dd/yyyy')); DBMS_OUTPUT.PUT_LINE('new_date ' || to_char(new_date, 'mm/dd/yyyy')); update events set event_date = new_date where event_key = v_event_key; END LOOP; CLOSE c1; end;