Calling PL/SQL Procedure from Trigger
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