передача переменной массива ksh в процедуру Oracle - PullRequest
0 голосов
/ 28 сентября 2018

у нас возникла проблема, когда нам нужно передать значение текстового файла в виде переменной массива из скрипта KSH в процедуру оракула.

можно ли передать переменную массива ksh в oracle proc (параметр в виде массива)

Заранее спасибо.

позвольте мне дать больше подробностей.

Я должен написать скрипт с переменной массива, содержащей несколько значений, я хотел бы передать переменную массива в oracle proc как массив.

но всякий раз, когда я выполняю сценарий will, он принимает только первое значение, и "Zara" вставляется в sp_table.

есть ли способ передать переменную массива unix как сам массив.(я ожидал вывод, так как все Имена в таблице sp_table)

Test.sh
 =========
#!/bin/sh
lookup=$1

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"

sqlplus -S ddsdbo/Higlmk67ctX123@TPBQ.WORLD << EOF
DECLARE
L_SUPPLY_NAME_ARR DBMS_SQL.VARCHAR2A;
BEGIN
sp_t('$NAME');
END;
/
EOF

sp_t (PROCEDURE)

create or replace PROCEDURE sp_t (L_SUPPLY_NAME_ARR DBMS_SQL.VARCHAR2A  ) as
   begin 
   FOR  i IN 1 .. L_SUPPLY_NAME_ARR.COUNT
       LOOP
         insert into sp_table values (L_SUPPLY_NAME_ARR(i));
       END LOOP;
       commit;
end;
...