unix 在shell脚本中将查询结果存储在数组中

hfsqlsce  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(196)

我想在unix脚本中将查询的行结果存储在数组中。
我试过这个:

array=`sqlplus -s $DB <<eof
select customer_id from customer;
eof`;

当我尝试打印它时,它显示了以下结果:

echo ${array[0]};

客户标识------------- 1 2 51 52 101 102 103 104 105 106 108已选择11行。
但是我希望通过排除column_name和“11 rows selected”语句,将每行存储为一个元素。
提前致谢。

sqxo8psd

sqxo8psd1#

要创建数组,您需要在BASH中使用以下语法:

array=($(command))

或:

declare -a array=($(command))

对于sqlplus命令:

array=($(sqlplus -s "$DB"<<eof
SET PAGESIZE 0;
select customer_id from customer;
eof))

然后将其打印为:

printf "%\n" "${array[@]}"

请注意,它受制于所有空白上的shell扩展。

相关问题