以下存储过程代码适用于我们的 DEV 和 TEST 环境,它们与 Oracle 11G 一起运行,但不适用于我们的 10G PROD 环境:
首先,我在 Oracle 中创建了自己的数据结构来保存任何 VARCHAR2 数组:
create or replace
type MAT_MULTIPLES_ARRAY as table of VARCHAR2(100);
这是程序代码:
create or replace PROCEDURE MAT_SUBMIT_JOB (v_multiples_columns_to_add IN our_schema.MAT_MULTIPLES_ARRAY)
v_jobno number;
v_job_name VARCHAR2(100);
v_error_message VARCHAR2(32000);
begin
v_job_name := 'doesnt matter right now';
dbms_scheduler.create_job(v_job_name,program_name=>'MAT_JOB_PROGRAM');
dbms_scheduler.set_job_anydata_value(v_job_name,1,sys.anydata.convertCollection(v_multiples_columns_to_add));
dbms_scheduler.enable(v_job_name);
end;
同样,同样的代码在我们的 DEV 和 TEST 环境中工作在 11G 中,它在我们的 10G 环境中编译,但是在运行时,在第二个 dbms_scheduler 行(粗体)上看起来很糟糕。
dbms_scheduler 是否在 10G 中工作?或者“sys.anydata.convertCollection(v_multiples_columns_to_add)”可能有问题
这是错误消息:
ORA-22370: 在我的过程中源自第 19 行的方法使用不正确。
第 19 行是调用 convertCollection() 的行。
请帮忙!