SQL 쿼리를 위해 여러 변수를 스크립트에 전달

SQL 쿼리를 위해 여러 변수를 스크립트에 전달

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)

나머지 값을 올바르게 인용하는 것은 연습입니다.

관련 정보