我試圖運行從一個shell腳本的查詢帶動態數據的Linux SQL Server查詢?
SELECT count(*) FROM MyTable where sessionid = 123
我可以這樣做:
bsqldb -U myname -P mypass -S myserv -i getcount.sql
但是,這意味着該會話ID被硬編碼到123
我需要的SessionID從shell腳本中調用bsqldb註釋
如何將sessionid作爲變量傳遞?
我試圖運行從一個shell腳本的查詢帶動態數據的Linux SQL Server查詢?
SELECT count(*) FROM MyTable where sessionid = 123
我可以這樣做:
bsqldb -U myname -P mypass -S myserv -i getcount.sql
但是,這意味着該會話ID被硬編碼到123
我需要的SessionID從shell腳本中調用bsqldb註釋
如何將sessionid作爲變量傳遞?
似乎是最好的辦法是隻創建從bash腳本本身tmp.sql文件,並用它作爲我的輸入:
echo "SELECT * FROM $TABLE WHERE SessionID = $SESS_ID" > tmp.sql
result=$(bsqldb -U $USER -S $SERV -P $PASS -i tmp.sql -q)
rm -f tmp.sql
謝謝大家!
echo "SELECT ${foo} FROM ${bar}" | bsqldb -U myname -P mypass -S myserv -i -
注意SQL注入雖然。
沒有好..你不能僞造一個文件 – Dss
我想我可以將查詢寫入一個tmp文件並通過該文件在 – Dss
難道你不能只''回聲SELECT count(*)FROM MyTable where sessionid = 123 | bsqldb -U myname -P mypass -S myserv'? – Mureinik
bsqldb不採用內聯查詢..他們必須來自輸入文件 – Dss