0
我在solaris中創建了一個Unix shell腳本,其中我的任務是爲35個表運行sql查詢並將輸出帶到csv文件中。我認爲我會創建一個數組,並通過使用for循環,我會將表名一個接一個地傳遞給sql查詢。所以作爲示例,我試圖在sql查詢中將表名稱作爲變量傳遞。 我傳遞表名是sql查詢以及我創建的CSV。 但不working.Please幫助....在Unix shell腳本中將表名稱作爲sql查詢中的變量Solaris
table_nm="PRODUCT"
sqlplus -s admin/[email protected] <<EOF
SPOOL /data2/interfaces/scripts/`$table_nm`.CSV;
set colsep ,
set feedback off
set trimspool on
set linesize 5000
set pagesize 1000
set heading on
set term off
set verify off
set timing off
set echo off
select * from `$table_nm` where PROD_ID = '1618' AND PROD_SER_NUM = 21 ;
spool off;
EXIT;
EOF
echo "end"
不是圍繞您的變量反引號,而是dbl-quotes,即。 'SPOOL/data2/interfaces/scripts /「$ table_nm」.CSV;'。嗯,或者當你在這裏的文檔裏,你甚至不需要dbl引號(或者他們可能會導致問題,堅持使用沒有空格的變量的值; - !)。祝你好運。 – shellter