Как передать параметр NUMBER_LIST_TYPE IN в хранимую процедуру ORACLE - PullRequest
0 голосов
/ 09 января 2019

У меня есть такая хранимая процедура:

Create or replace procedure readEmpDetails (empRowList NUMBER_LIST_TYPE, 
                                            created_by VARCHAR2, 
                                            accessid NUMBER )
is

Как передать параметр для NUMBER_LIST_TYPE:

begin  readEmpDetails([124, 155, 147], '100', 2);  end;

Я хочу передать параметр, как указано выше, в Oracle SQL Developer.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Если NUMBER_LIST_TYPE является допустимым типом оракула, вы передаете его как NUMBER_LIST_TYPE(124, 155, 147). Затем вы создаете экземпляр типа с 3 элементами «на лету».

0 голосов
/ 09 января 2019

Выполните следующие шаги:

create or replace type T_array_readEmpDetails AS VARRAY(10) of number(4)
/

Create or replace procedure readEmpDetails (t_ar T_array_readEmpDetails, 
                                            created_by VARCHAR2, 
                                            accessid NUMBER )
is
begin
      FOR i IN 1..t_ar.count LOOP
        dbms_output.put_line(t_ar(i));
     END LOOP;
end;
/
 DECLARE
      v T_array_readEmpDetails;
    BEGIN
      v := T_array_readEmpDetails();
      v.EXTEND(3);
      v(1) := 124;
      v(2) := 155;
      v(3) := 147;
      readEmpDetails(v,'A',1);
    END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...