I'm assuming that since you have 4 parameters all arrays that each index represents a group of values i.e., array_of_ids[0] goes with array_of_param_names[0] etc.
create a global temporary table:
CREATE GLOBAL TEMPORARY TABLE mygtbl (
id type,
param_name type,
param_type type,
value type
) on commit preserve rows;
Your perl code changes to "insert into mygtbl values(?,?,?,?)", and you can use execute_array to insert the values. You then either change the procedure to read the values from mygtbl or you write a wrapper procedure which reads the values from mygtbl into arrays and pass them to your original procedure.
|