Передача параметров во встроенном sql в сценарии оболочки

#sql #linux #unix

Вопрос:

Может кто-нибудь, пожалуйста, помочь мне с этим. Я вызываю эту функцию с параметром. Роль функции заключается в подключении к базе данных и сохранении результата sql в SQL_RESULT. Я не уверен, правильно ли использовать (ГДЕ ACQ = ‘$1’), т. Е. Будет ли $1 успешно заменен именем ACQ, которое я передал функции? P.S. Это не полный сценарий, я только что предоставил соответствующую информацию только из сценария. Заранее спасибо.

 #!/bin/ksh  function get_aq_info {  SQL_RESULT=`sqlplus -s $DBNAME lt;lt;EOF  set verify off;  set heading off;  set feedback off;  SELECT *  FROM CV_ACQ  WHERE ACQ = '$1';  quit; EOF` }  #MAIN  get_aq_info ACQ_NAME  

Комментарии:

1. Почему бы тебе просто не попробовать?

2. 1 : не используйте обратные клавиши для выполнения команд, используйте $() . 2 снимите ' крепление $1 . Переменное расширение не происходит, когда оно окружено ' .