小弟不才,最近才接触ORACLE,做了一个简单的包测试,下面的代码能编译通过,但不知道怎样执行这个包???请予以帮忙,谢谢!create or replace package PKG_TEST as
type refcur is ref cursor;
procedure GetInfo(vTable out PKG_TEST.refcur);
end PKG_TEST;create or replace package body PKG_TEST is
procedure GetInfo(vTable out PKG_TEST.refcur) is
begin
          open vTable for select
          ID, Name, Sex, Tel, Other FROM TEST;
end GetInfo;
end;

解决方案 »

  1.   

    create or replace package PKG_TEST as
    type refcur is ref cursor;
    procedure GetInfo(vTable out PKG_TEST.refcur);
    end PKG_TEST;
    /
    create or replace package body PKG_TEST is
    procedure GetInfo(vTable out PKG_TEST.refcur) is
    begin
              open vTable for select
              * FROM scott.emp;
    end GetInfo;
    end;
    /T@orcl>var s refcursor
    T@orcl>exec PKG_TEST.getinfo(:s);PL/SQL procedure successfully completed.Elapsed: 00:00:00.01
    T@orcl>print :s     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20
          7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30
          7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30
          7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20
          7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30
          7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30
          7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10
          7788 SCOTT      ANALYST         7566 1987-04-19 00:00:00       3000                    20
          7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10
          7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30
          7876 ADAMS      CLERK           7788 1987-05-23 00:00:00       1100                    20
          7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30
          7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20
          7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    1014 rows selected.Elapsed: 00:00:00.12
    T@orcl>
      

  2.   

    如果过程是这样的:
    create or replace package body PKG_TEST is
    procedure GetInfo(vTime char(8), vTable out PKG_TEST.refcur) is就是带入一个日期的参数,格式为YYYYMMDD,这样又怎么去调用?
      

  3.   


    create or replace package body PKG_TEST is
    procedure GetInfo(vTime in char(8), vTable out PKG_TEST.refcur) is是这样的,上面少写了一个in