您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么從文本文件讀入 SQL 參數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
有時我們希望把參數列表分行存儲在文本文件里,執行SQL時再拼到in函數里,從而查詢出符合條件的記錄。
但SQL不能解析文本文件,直接拼到in函數里有困難,所以很多人先把文件導入數據庫臨時表,再用join語句做關聯,從而間接實現in函數的功能。但這樣一來每當文件變化的時候,都要手工做一遍刪表導庫的動作,過程還是挺麻煩的。
一勞永逸的做法是用Python、C#等編程語言開發程序,但這類語言技術門檻很高,想學會有點兒難,雖然理論上啥功能都能實現。
如果用esProc,實現這個算法就簡單多了,只需短短幾行代碼:
A | B | |
1 | =file("params.txt").import@i() | /打開文本文件,按行取參數列表 |
2 | =orcl.query("select * from T where P in(?)",A2) | /執行SQL,A2是in函數的參數值 |
參數列表過長的時候就不能用上面的方法了,因為in函數對成員數量有限制,比如Oracle規定不能超過1000個。遇到這種情況也別擔心,esProc支持庫外通用查詢,且支持長參數列表,代碼只需這樣寫:
A | B | |
1 | =file("params.txt").import@i().sort(~) | /讀取長參數列表并排序 |
2 | =orcl.cursor("select * from T") | /從庫表取出數據 |
3 | =A3.select(A1.contain@b(P)) | /查詢符合參數列表的記錄 |
esProc是個腳本語言,可以在桌面IDE里執行并調試,可以連接任意數據庫并執行SQL。對于SQL難以實現的功能,esProc通常都有辦法簡化。
關于怎么從文本文件讀入 SQL 參數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。