Calling PL/SQL Procedure from Trigger

From: Jim Anderson <anderson_at_h2o.mrd.usace.army.mil>
Date: 1996/11/07
Message-ID: <32829EC7.5F85_at_h2o.mrd.usace.army.mil>#1/1


Platform: Solaris 2.5.1
[Quoted] Oracle Version: 7.2.3  

I have a trigger that is calling a procedure. Part of the code follows:  

CREATE OR REPLACE TRIGGER tsv_ins_121996_gen   AFTER INSERT ON tsv_121996
  FOR EACH ROW
  DECLARE
    TYPE NumArrayTyp IS TABLE OF REAL
      INDEX BY BINARY_INTEGER;
    stat_code VARCHAR2(4);
    parm_code VARCHAR2(2);
    x_vals NumArrayTyp;
    y_vals NumArrayTyp;
    num_vals INTEGER;
    ratid INTEGER;
    err_num INTEGER;
  BEGIN
<code deleted>

      DBCALLS.SELECT_RATING (stat_code, x_vals, y_vals,
        num_vals, ratid, err_num);

<etc.....>

 When I try to create the trigger, I get the following error:  

CREATE OR REPLACE TRIGGER tsv_ins_121996_gen *
ERROR at line 1:

ORA-06550: line 23, column 7:
PLS-00306: wrong number or types of arguments in call to 'SELECT_RATING'
ORA-06550: line 23, column 7:

PL/SQL: Statement ignored  

I am certain that the error is caused by x_vals and y_vals. When I try to call procedures without TABLE OF.. parameters, I get no errors. When I try to call procedures with TABLE OF.. parameters, I get errors.  

The SELECT_RATING procedure has the exact same declaration for the x_vals and y_vals parameters. I have tried several different approaches, but get the same results. Is there something special I must do to call a procedure with TABLE OF.. parameters? I call this procedure from a PRO*Fortran program with no probblms.  

Thanks,
Jim Anderson Received on Thu Nov 07 1996 - 00:00:00 CET

Original text of this message