Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量从sh传递到sql declare-a数组[2] for((i=0;i_Sql_Bash_Shell - Fatal编程技术网

将变量从sh传递到sql declare-a数组[2] for((i=0;i

将变量从sh传递到sql declare-a数组[2] for((i=0;i,sql,bash,shell,Sql,Bash,Shell,如果要从输入创建file.sql,则不需要数组。可以在相同的for循环中读取和写入 declare -a array[2] for (( i=0; i<3; i++ )) do read array[$i] done for (( n=0; n<3; n++ )) do echo -e "From Table[$n]: ${array[$n]}\n " ; done sqlplus owner/pass@db << ENDOFSQL @file.sql

如果要从输入创建
file.sql
,则不需要数组。可以在相同的for循环中读取和写入

declare -a array[2]
for  (( i=0; i<3; i++ ))
do
read array[$i]
done

for  (( n=0; n<3; n++ ))
do
echo  -e "From Table[$n]: ${array[$n]}\n " ;
done

sqlplus owner/pass@db << ENDOFSQL
    @file.sql
exit;
ENDOFSQL;
您还应该能够完全跳过输入文件,并将for循环的输出直接传输到sqlplus

for (( i = 0; i < 3; i++ )); do
    read a
    echo "From Table[$i]: $a"
done >file.sql
sqlplus owner/pass@db @file.sql
((i=0;i<3;i++)的
for;do
读一本
echo“来自表[$i]:$a”
完成| sqlplus所有者/pass@db

Sample input/output needHi,谢谢你的回答。如何将该文件传递给sqlplus/plsql?@Dave根据,你可以在命令行中将其命名为
sqlplus…@file.sql
。我相应地更新了我的答案。
for (( i = 0; i < 3; i++ )); do
    read a
    echo "From Table[$i]: $a"
done | sqlplus owner/pass@db