2016-01-28 4 views
0

привет пытаюсь передать значения для моей переменной в SQL с помощью run_nzodbc сценария,Netezza передачи переменных

run_nzodbc /development/df2/dfr/sql/adhoc/sriram/gen.sql -v условие = PROD. USC_CODE IN (12000,12001)> /development/df2/data01/sriram/df2_astrazeneca_seroquel_mthly_01160044DPT.log 2> /development/df2/data01/sriram/df2_astrazeneca_seroquel_mthly_01160044DPT.err &

gen.sql

создать таблицу ххх как

( ) выбрать * из abc как где a.string =: условие );

вместо условия я должен заменить строку, содержащую пробел между которыми передается как переменная во время выполнения запроса. , но когда значение передается, оно усекается после возникновения экземпляра пространства, Я попытался передать значение, заключенное в одинарные и двойные кавычки. , пожалуйста, дайте мне знать, есть ли способ передать строковые значения с пространством между ними как рывком

+0

Похоже, вы спрашиваете о том, как оболочка bash обрабатывает переменные окружения, а не как CLI nzsql обрабатывает их. Пожалуйста, включите часть кода gen.sql, которая ссылается на переменную среды, чтобы мы могли лучше вам помочь. – ScottMcG

ответ

0

Это работает для меня.

nzsql -Atv "condition='1 with space'" -c "select :condition" 

Я бы предположил, что команда run_nzodbc будет работать одинаково.

+0

спасибо, я могу передать строки в nzsql, так же, как передать параметр даты в nzsql как nzodbc, потому что я получаю ошибку внешнего внешнего маркера времени? это используемый сценарий, nzsql -A -t -F '~' -f /development/df2/dfr/sql/adhoc/sriram/forest.sql -v MTH_END_DT = '2015-12-31' -o/development/df2/data01/sriram/forest.dat & –

+0

Вы не указали двойной аргумент -v в приведенном выше коде. Попробуйте «... -v» MTH_END_DT = '2015-12-31' "...' –

+0

nzsql -Atv "condition = PROD.USC_CODE IN (24200,31440,37620,52151,52152,52153,52158,85000, 52159,31511,31200) "-va = 2 -v" MTH_END_DT = '2015-12-31' "-f /development/df2/dfr/sql/adhoc/sriram/gen.sql -o/development/df2/data01 /sriram/data.dat, даже я попробовал его, пока он показывает неудачную марку времени. –

Смежные вопросы