我有一段类似于以下代码片段的PL/SQL代码:
它使用静态查找数组来处理提供给DO_SOMETHING的数据。我的问题是,init_array是何时被调用和lookup_array被加载到内存中的?在包编译时吗?第一次调用时吗?它会被多次调用吗?有更好的实现静态查找数组的方法吗?
谢谢!
create or replace
package body MY_PACKAGE as
type array_type is table of char index by varchar2(1);
lookup_array array_type;
function DO_SOMETHING(input nvarchar2)
return varchar2 as
begin
-- Do something here with lookup_array
end DO_SOMETHING;
procedure init_array as
begin
lookup_array('A') := 'a';
lookup_array('B') := 'b';
-- etc
end init_array;
begin
init_array;
end MY_PACKAGE;
它使用静态查找数组来处理提供给DO_SOMETHING的数据。我的问题是,init_array是何时被调用和lookup_array被加载到内存中的?在包编译时吗?第一次调用时吗?它会被多次调用吗?有更好的实现静态查找数组的方法吗?
谢谢!