我有一個需求,我需要編寫一個ksh腳本,它將命令行參數讀入數組,並創建DML語句以將記錄插入到oracle數據庫中。我已經創建了一個腳本來實現這一點。但是,調用腳本的用戶無權寫入腳本必須運行的目錄。那麼,有沒有一種方法可以在數據庫上觸發多次插入,而無需在循環中多次連接sqlplus,同時又不會像下面那樣創建臨時sql文件?任何想法都非常感謝。提前致謝!連接到sqlplus只有一次而沒有寫入循環中的文件
i=0
while ((i<$src_tbl_cnt))
do
echo "insert into temp_table values ('${src_tbl_arr[$i]}', ${ins_row_arr[$i]}, ${rej_row_arr[$i]});" >> temp_scrpt.sql
((i+=1))
done
echo "commit; disc; quit" >> temp_scrpt.sql
sqlplus user/[email protected] @ temp_scrpt.sql
很抱歉,如果我原來的問題聽起來誤導,但值得關注的更多的是正在運行的所有insert語句在連接到只有一次在sqlplus和運行時「沒有」寫所有INSERT語句成文件。 – user3221849