我想編寫一個腳本,:如何使用SQLPLUS查詢的輸出提示用戶輸入更多
- 提示您輸入一個名稱
- 在sqlplus的數據庫,以查看是否一個
select count
它存在 - 最終用戶查看查詢結果並提示詢問用戶他們是否想運行語句2
- 如果您說是,則運行statement2。如果沒有腳本被殺害
我遇到的問題是第一次查詢運行後,檢查它是否存在,我不知道如何添加一個提示,詢問您是否要插入到數據庫
這裏是我到目前爲止的代碼:
echo "Please enter last name: 'input;"
read input
statement1="select count(*) as count from users
where fname = '"$input"'"
statement2="INSERT INTO users VALUES ('"$input"');
$ORACLE_HOME********************************
$statement1
/
quit;
Eossql
我想不通的部分,執行語句1後,我希望系統詢問是否說法2應該執行的。有什麼建議麼?
謝謝!
編輯: 感謝CDahn的建議,這是我編輯的代碼。這種解決方案的工作原理,但我想知道是否有一個更乾淨的方法來做到這一點,而不是連接到兩次sqlplus。
echo "Please enter last name: 'input;"
read input
Statement2="INSERT INTO users VALUES ('"$input"');"
output1=$($sqlplus -s User/[email protected] <<EOF
set head off
select count (*) from users
where fname = '$input';
EXIT;
EOF
)
read -p "User $input appears $output1 times. Create user? [Y/n]" answer
if [ -z "$answer" -o "$answer" == "y" -o "$answer" == "Y" ]
then
$sqlplus -s User/[email protected] << Eossql
set autocommit on
set head off
$Statement2
quit;
Eossql
else
echo "Not creating user"
fi
您將需要問這個問題,然後有一個if語句處理響應。 –