在Oracle中,可以使用游標和表類型來傳遞數(shù)組參數(shù)。以下是一個示例:
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,然后創(chuàng)建了一個存儲過程process_array,接受一個number_array類型的數(shù)組參數(shù)。最后,在PL/SQL塊中聲明一個數(shù)組變量l_numbers,并使用execute語句調用process_array存儲過程,傳遞數(shù)組參數(shù)。