title: How do I unit test this PL/SQL procedure? (using utplsql)
body: <p>Package is very very basic.
  Loops through a cursor, and updates 2 values where the record_ids are equal.</p>
  
  <p>What's an appropriate unit test for this sort of procedure?</p>
  
  <p>I'm going to add some skeleton code because the answers so far, while good, tie to the crux of my issue here: What do I test?</p>
  
  <pre><code>PROCEDURE set_shift_times_to_null( RETVAL OUT VARCHAR2,
                                   ERRBUF OUT VARCHAR2,
                                  RECORDS_UPDATED OUT NUMBER) IS 
  
     CURSOR evening_shift_employees_cur IS
     select employee
     FROM employees
     where SHIFT='EVENING'
     ;
  
  BEGIN
     RECORDS_UPDATED := 0;
     RETVAL := '2';
  
     FOR evening_shift_employees IN evening_shift_employees_cur LOOP
        UPDATE NIGHT_SHIFT 
        Set SOME_DUMB_FIELD = evening_shift_employees.employee;
  
        RECORDS_UPDATED := RECORDS_UPDATED + 1;
     END LOOP;
     COMMIT;
     RETVAL := 0;
  EXCEPTION WHEN OTHERS THEN
     ROLLBACK;
     ERRBUF := 'Error occurred - ' || SQLERRM;
  END set_shift_times_to_null;
  </code></pre>