在Oracle中,可以使用游标和表类型来传递数组参数。以下是一个示例:
CREATE OR REPLACE TYPE number_array AS TABLE OF NUMBER;
CREATE OR REPLACE PROCEDURE process_array(p_numbers IN number_array) AS
BEGIN
FOR i IN 1..p_numbers.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Number ' || i || ': ' || p_numbers(i));
END LOOP;
END;
DECLARE
l_numbers number_array := number_array(1, 2, 3, 4, 5);
BEGIN
execute process_array(l_numbers);
END;
在这个示例中,我们首先定义了一个表类型number_array,然后创建了一个存储过程process_array,接受一个number_array类型的数组参数。最后,在PL/SQL块中声明一个数组变量l_numbers,并使用execute语句调用process_array存储过程,传递数组参数。