returning into(update,delete,insert)

来源:互联网 发布:淘宝买东西怎么支付 编辑:程序博客网 时间:2024/03/29 07:19

DECLARE
  TYPE numlist IS TABLE OF VARCHAR2(30);
  v_job numlist;
  v_deptno NUMBER;
BEGIN
  --returning 返回之前的
   DELETE FROM emp2 WHERE deptno = 10 RETURNING job BULK COLLECT INTO v_job;
   dbms_output.put_line(SQL%ROWCOUNT);

   FOR i IN v_job.first..v_job.last LOOP
     dbms_output.put_line(v_job(i));
   END LOOP;
   ROLLBACK;
  --returning 返回之后的
   INSERT INTO emp2 VALUES(50,'dfdf') RETURNING deptno INTO v_deptno;
      dbms_output.put_line(SQL%ROWCOUNT);
   dbms_output.put_line(v_deptno);
   ROLLBACK;
  
   v_job := NULL;
   UPDATE emp2 t
   SET t.job = 'df'
   WHERE t.deptno = 10 RETURNING job BULK COLLECT INTO v_job;
   --returning 返回之后的结果
   FOR i IN v_job.first..v_job.last LOOP
      dbms_output.put_line(v_job(i));
   END LOOP;
   ROLLBACK;
  
END;