Oracle 相当于 Java 的 Varargs

2021-12-24 00:00:00 oracle sqldatatypes plsql

我正在尝试创建一个 PL/SQL 过程,该过程可以将未知但数量相对较少的字符串/Varchar2 作为参数处理.Java 中的等价物可能是使用 Varargs:

I'm trying to create a PL/SQL Procedure which can handle an unknown, but relatively small, number of Strings/Varchar2s as a parameter. The equivalent in Java could be to use Varargs:

public void foo(String... bar) {
}

查看 Oracle 的关于集合和记录的文档使用关联数组似乎是一个合适的选择,但我不确定.

Looking at Oracle's documentation on Collections and Records it would seem that using an Associative Array is a suitable choice, but I'm not certain.

你能告诉我关联数组是否是正确的方法吗?

Can you please tell me if Associative Array is the correct way to go?

是否可以在调用过程时传入一个匿名关联数组?

If it's possible to pass in an anonymous Associative Array when invoking the call to the Procedure?

谢谢

推荐答案

create or replace type strings_type as table of varchar2(50);
select * from table (strings_type ('DD','CC','EE'));

相关文章