使用sql loader,我知道我可以在我的ctl文件中引用一個ksh變量。例如,我可以寫把選擇結果放入一個ksh變量
LOAD DATA
INFILE '$PATH_IN_KSH/my_file.dat'
...
我想補充一個WHEN子句這樣
WHEN (125:125) = '$P_NUMBER'
P_NUMBER將有一列在表中的值,我會用一個選擇查詢檢索。
有沒有可能這樣做?使用select從列中檢索值,並以某種方式將其放入ksh變量,以便ctl文件可以看到它。 (一些與SQL加?)
謝謝
[This](http://stackoverflow.com/a/17731960/266304)稍微複雜一些 - 你並不需要一個函數,但它不會傷害到分離。這是否給你你需要的東西? –
編寫一個shell腳本來驅動這個過程。在腳本中使用一個HERE DOC作爲sqlldr控制文件和引用shell變量,或者將控制文件作爲單獨的模板文件運行sed以用值替換變量。 – TenG
@Alex Poole ..是的,它似乎很好 – mlwacosmos