将ksh数组变量传递给oracle过程

时间:2018-09-28 13:26:48

标签: oracle plsql ksh

我们遇到一个问题,我们需要将文本文件值作为数组变量从KSH脚本传递给oracle过程。

是否可以将ksh数组变量传递给oracle proc(参数作为数组)

先谢谢了。

让我提供更多详细信息。

我将使用带有很少值的数组变量的脚本,我想将数组变量作为数组传递给oracle proc。

但是,每当我执行我的must脚本时,它仅获取第一个值,并且将“ 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(步骤)

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;

0 个答案:

没有答案