我想重寫一個用c-shell腳本編寫的腳本,它使用sql plus命令從oracle數據庫獲取信息,但我用mysql替換它,並且想替換它所有使用mysql語法的sqlplus語法。我要求所有的C-shell大師向我解釋一下這個命令意味着用mysql命令替換sqlplus命令
set SQLPLUS=${ORACLE_HOME}/bin/sqlplus
set REPORT=${MYBD_HOME}/Scripts/report.sql
沿着我使用follwing
${SQLPLUS} ${MYDBUSER} @ &{REPORT}
我能夠說調用SQL Plus命令行這樣的地方我承諾什麼是右手值的意思({ORACLE_HOME}/bin/sqlplus)是我的sqplus命令所在的路徑,因此我需要它來調用該命令和{REPORT = $(MYBD_HOME)/Scripts.report。 sql)是通過調用sqplus命令來運行的sql腳本所在的路徑是否正確?
我不明白的是set命令正在初始化它。 SQLPLUS是一個變量,所以當我嘗試將它放入我的.csh腳本時,我不必鍵入路徑?
如果是的話,我需要做的運行mysql數據庫上運行此腳本被簡單地設置SQLPLUS(problably將其更改爲MYSQL)爲指向的路徑在我的mSQL的高管是正確
set MYSQL=${MYSQL_HOME}/bin/mysql
然後只需調用mysql和運行SQL語句
${MYSQL}${MYDBUSER}@${REPORT}
難道這就是我需要做的RO囤相同.tsch腳本從一個MySQL表中獲取數據?
閥芯究竟做了什麼? – rambokayambo
爲什麼不能將用戶名和密碼設置爲一個變量並使用它。看起來像myql比sqlplus更詳細 – rambokayambo
好吧,我會盡力做到這一點。似乎我不如重寫整個腳本。 MYDBUSER是我假設的一個環境變量,它不存在,我將不得不將MYSQL_HOME和MYDBUSER都添加到我的env變量中。這樣我可以在腳本中執行mysql命令。我想我也將不得不用我登錄到mysql數據庫的用戶名和密碼來替換嗎?最後我的報告運行和sql語句並創建一個.log文件並將其放在某處?我這是什麼後臺命令正在做什麼?我如何在MySQL中做同樣的事情?謝謝 – rambokayambo