任何人都可以告诉我是否有可能在oracle中创建一个存储过程接受数组作为输入参数以及如何?
是. Oracle将它们称为集合,并且您可以使用各种集合.
使用VARRAY的简单数组示例.
DECLARE TYPE Str_Array IS VARRAY(4) OF VARCHAR2(50); v_array Str_Array; PROCEDURE PROCESS_ARRAY(v_str_array Str_Array) AS BEGIN FOR i IN v_str_array.first .. v_str_array.last LOOP DBMS_OUTPUT.PUT_LINE('Hello '||v_str_array(i)); END LOOP; END; BEGIN v_array := Str_Array('John','Paul','Ringo','George'); PROCESS_ARRAY(v_array); -- can also pass unbound Str_Array PROCESS_ARRAY(Str_Array('John','George')); END;