我有一個名爲table.txt的文件,它存儲了表名。我希望sql更新查詢從我的table.txt文件中逐個獲取表名。我的代碼如下:shell腳本將表名作爲參數傳遞給sqlplus?
while read LINE1; do
`sqlplus username/[email protected] <<END |sed '/^$/d'
set head off;
set feedback off;
update &LINE1 set enterprise_id = '1234567890' where enterprise_id is NULL;
update &LINE1 set sim_inventory_id ='1234567890';
COMMIT;
exit;
END`
done < table.txt
它給出一個錯誤sqlplus找不到。你能告訴我什麼是錯的嗎?
爲什麼反引號? SQL \ * Plus是否位於PATH環境變量中,並且已導出? –
@AlexPoole是的,一切都很好,連接。錯誤在傳遞表名。 –
「找不到sqlplus」與傳遞表名無關。它找不到'sqlplus'二進制文件。給出該二進制文件的完整路徑,或者檢查PATH是否已正確設置並導出,無論是在腳本中還是在您調用腳本的shell中。 (如果您將其設置在腳本中,如果刪除反引號,則導出並不是真的必要)。 –