oracle 接受数组
时间: 2023-06-16 19:07:31 浏览: 137
在 Oracle 数据库中,可以通过创建一个 PL/SQL 存储过程或函数来接受数组作为参数。下面是一个示例存储过程,它接受一个整数类型的数组作为参数:
```
CREATE OR REPLACE PROCEDURE my_proc(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;
```
在上面的示例中,NUMBER_ARRAY 是一个类型定义,它定义了一个整数类型的数组。在存储过程中,我们可以通过 p_numbers 参数来访问该数组。在存储过程的主体中,我们可以使用 FOR 循环遍历数组中的每个元素,并使用 DBMS_OUTPUT.PUT_LINE 函数输出数组元素的值。
当调用该存储过程时,需要传递一个 NUMBER_ARRAY 类型的数组作为参数。下面是一个示例调用:
```
DECLARE
l_numbers NUMBER_ARRAY := NUMBER_ARRAY(1, 2, 3);
BEGIN
my_proc(l_numbers);
END;
```
在上面的示例中,我们定义了一个名为 l_numbers 的变量,它包含了三个整数类型的元素。然后,我们调用 my_proc 存储过程,并传递 l_numbers 变量作为参数。该存储过程将输出数组中的每个元素的值。
阅读全文