我有一个名为 info_code 的脚本:
#!/bin/ksh
if [ $# -eq 0 ] ;then
echo "Enter code : \c"
read code
echo ""
else
code=$1
fi
code=`echo ${code} | tr '[a-z]' '[A-Z]'`
echo "select * from table
where request_no=|$code|
当我运行 info_code 时,我必须将请求的代码作为变量放在最后。我想每次插入多个代码。 request_no 列是 varchar。
答案1
你可能想要这样的东西:
#!/bin/ksh
typeset -Au codes
read -rA codes?"Enter codes: "
IFS=,
sql="select * from table where request_no in (${codes[*]})"
echo "$sql"
运行看起来像:
Enter codes: foo bar baz
select * from table where request_no in (FOO,BAR,BAZ)
正确引用剩下的值作为练习。