ORACLE的众位高手,请帮我看看吧(100分)

  • 主题发起人 主题发起人 请教高手
  • 开始时间 开始时间

请教高手

Unregistered / Unconfirmed
GUEST, unregistred user!
昨天我提了一个问题:
*****
都说存储过程可已大大提高执行效率,是因为减少了大量SQL语句的传输,
但是如果web SERVER 与DATABASE SERVER在一台机器上呢?他们之间不用通过网络
传输SQL语句吧?
******
我决定测试一下,我编了一个存储过程,怎么提示我
MGR-00072: There is no more information about this error.
在user_objects表中我的PACKAGE是INVALID
帮我看看我的过程吧(oracle816)在ORACLE SQL WORKSHEET中调试
create or replace package pkg_gytc_x1
as
type pg_dwdm is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_rq is table of date(7) INDEX BY BINARY_INTEGER;
type pg_qssj is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_jssj is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_tc is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_sxx is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_nr is table of VARCHAR2(500) INDEX BY BINARY_INTEGER;
type pg_i is table of NUMBER(20) INDEX BY BINARY_INTEGER;
type pg_zm is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_dz is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;
type pg_pd is table of VARCHAR2(50) INDEX BY BINARY_INTEGER;

procedure sp_gytc_x1
(i_dwdm in varchar2,
i_rq in date,
i_tc in varchar2,
i_sxx in varchar2,
sp_dwdm out pg_dwdm,
sp_rq out pg_rq,
sp_qssj out pg_qssj,
sp_jssj out pg_jssj,
sp_tc out pg_tc,
sp_sxx out pg_sxx,
sp_nr out pg_nr,
sp_i out pg_i,
sp_zm out pg_zm,
sp_dz out pg_dz,
sp_pd out pg_pd

);
end pkg_gytc_x1;


CREATE OR REPLACE PACKAGE BODY pkg_gytc_x1
as
procedure sp_gytc_x1
(sp_dwdm out pg_dwdm,
sp_rq out pg_rq,
sp_qssj out pg_qssj,
sp_jssj out pg_jssj,
sp_tc out pg_tc,
sp_sxx out pg_sxx,
sp_nr out pg_nr,
sp_i out pg_i,
sp_zm out pg_zm,
sp_dz out pg_dz,
sp_pd out pg_pd
)
IS
/*dwdm tc rq sxx*/
CURSOR cur_gytc(curdwdm varchar2,curtc varchar2,currq date,cursxx varchar2) IS
select dwdm,rq,qssj,jssj,tc,sxx,nr,i,zm,dz,pd
from gytc
where UPPER(DWDM)=upper(curdwdm) and (tc=curtc) and (sxx=cursxx) and (rq=TO_DATE(currq,'YYYY-MM-DD');
recordcount NUMBER DEFAULT 0;
  BEGIN
  FOR c IN cur_gytc(i_dwdm ,i_tc ,i_rq,i_sxx) LOOP
recordcount := recordcount+1;
sp_dwdm :=c.dwdm;
sp_rq :=c.rq;
sp_qssj :=c.qssj;
sp_jssj :=c.jssj;
sp_tc :=c.tc;
sp_sxx :=c.sxx;
sp_nr :=c.nr;
sp_i :=c.i;
sp_zm :=c.zm;
sp_dz :=c.dz;
sp_pd :=c.pd;
end loop;
end sp_gytc_x1;
end pkg_gytc_x1;
 
高手门你门太谦虚了晒,怎么没人理我
 
出错位置定位在哪里?
你的pkg中的procedure的定义和pkg body中的定义为什么会不同?
 
我已经改了这个定义,
但是还是提示那个错误
另外:我在单独执行包头时也提醒这个错误,是不是我的TYPE格式不对啊?
 
后退
顶部