2016-02-03 1 views
0

Как передать несколько параметров в файл SQL с помощью опции командной строки vsql?Как передать несколько пар значений имени в файл SQL с помощью vsql -v из сценария bash?

работает с asingle аргументом следующее:

/vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql -v date1="'"${FIRSTDAY}"'" > test.csv 

Но я также хочу, чтобы пройти последнюю дату:

/vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql -v date1="'"${FIRSTDAY}"'" date2="'"${LASTDAY}"'" > test.csv 

но выдает ошибку:

Database "date2='20160131'" does not exist

ответ

1

Просто повторить параметр -v столько раз, сколько необходимо:

vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql \ 
-v date1="'"${FIRSTDAY}"'" -v date2="'"${LASTDAY}"'" > test.csv 
+0

Perfect. Спасибо! – ssal