小弟不才,最近才接触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;
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;
解决方案 »
- 数据库中如何让日期按要求自动更新?
- 本地动态sql超过32k且用dbms_sql创建临时表也不够求高手帮忙!
- 求助oracle报错 -1002
- external dbid length 120 is greater than maximum (16) 什么原因?
- 请教关于Oracle 10g的RAC归档日志存放混乱的问题。
- 如何一次导出所有表的索引
- 如何通过utl_tcp实现聊天的功能
- oracle外连接问题
- 存储过程中不明白的地方,请指教~
- 表更新的问题,急
- inner/left/right join 和 (+) 的区别
- rs.getstatement.close();rs.close();还是rs.close();rs.getstatement.close();先关哪个好(假设statement只用作维持记录集)
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>
create or replace package body PKG_TEST is
procedure GetInfo(vTime char(8), vTable out PKG_TEST.refcur) is就是带入一个日期的参数,格式为YYYYMMDD,这样又怎么去调用?
create or replace package body PKG_TEST is
procedure GetInfo(vTime in char(8), vTable out PKG_TEST.refcur) is是这样的,上面少写了一个in