我是靠谱客的博主 有魅力抽屉,最近开发中收集的这篇文章主要介绍用table类型作为参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用table类型作为参数,首先要建立一个可公开调用的table类型才可以。为了便于维护,可放在package里

CREATE OR REPLACE PACKAGE pkg_test IS
  TYPE t_temp IS RECORD(
    tid   VARCHAR2(50),
    tname VARCHAR2(50),
    cou   VARCHAR2(50));
  TYPE tab IS TABLE OF t_temp INDEX BY BINARY_INTEGER;
  PROCEDURE p_test(t IN tab);
END pkg_test;
/
CREATE OR REPLACE PACKAGE BODY pkg_test IS
  PROCEDURE p_test(t IN tab) AS
  BEGIN
    FOR i IN 1 .. t.count LOOP
      dbms_output.put_line(t(i).tid || t(i).tname || t(i).cou);
    END LOOP;
  END p_test;
END pkg_test;
/

下面调用就可以了:
SQL> set serveroutput on
SQL> 
SQL> DECLARE
  2    CURSOR cr IS
  3      SELECT *
  4        FROM (SELECT '1TEST' tid, '1TEST' tname, '1TEST' cou
  5                FROM dual
  6              UNION ALL
  7              SELECT '2TEST' tid, '2TEST' tname, '2TEST' cou
  8                FROM dual
  9              UNION ALL
 10              SELECT '3TEST' tid, '3TEST' tname, '3TEST' cou
 11                FROM dual
 12              UNION ALL
 13              SELECT '4TEST' tid, '4TEST' tname, '4TEST' cou
 14                FROM dual) e;
 15    t pkg_test.tab;
 16  BEGIN
 17    OPEN cr;
 18    FETCH cr BULK COLLECT INTO t;
 19    CLOSE cr;
 20    pkg_test.p_test(t);
 21  END;
 22  /
1TEST1TEST1TEST
2TEST2TEST2TEST
3TEST3TEST3TEST
4TEST4TEST4TEST
PL/SQL procedure successfully completed


最后

以上就是有魅力抽屉为你收集整理的用table类型作为参数的全部内容,希望文章能够帮你解决用table类型作为参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部