2016-11-22 53 views
0

好日子大家,串聯使用PL/SQL和UNIX

與SYSDATE多個文件我有以下情形,我多個文件複製到不同的位置:

osutil.runoscmd('cp /public/basket-upload/B*.csv /logdata/log/'); 

這完美的作品,並將所有以B *開頭的文件到該位置。

我想這樣做的下一件事就是當前SYSDATE串聯所有這些使用下面的代碼文件:

osutil.runoscmd('mv /logdata/log/B*.csv /logdata/log/B*'||to_char(sysdate,'yyyymmdd')||'.csv'); 

這是行不通的。有沒有可能的方法讓這個重命名發生?

感謝

回答

0

檢查系統的一個rename命令,閱讀文檔(也有那幾個口味)。否則,你就必須做這樣的事情:

osutil.runoscmd('cd /public/basket-upload/ && for f in B*.csv; do mv "$f" "/logdata/log/$f'||to_char(sysdate,'yyyymmdd')||'.csv"; done'); 
+0

格倫嗨,我已經嘗試了上述代碼,但在運行它,PL/SQL問我:「爲輸入值:」一個文本框輸入一個值。我將嘗試在此期間使用重命名功能 –

+0

如果您的意思是來自Allround Automations的PL/SQL _Developer_,並且您正在從SQL窗口調用過程,那麼在最近的版本中,可以使用'&'按鈕禁用替換變量在窗口的底部,或者通過在測試窗口中運行它。 –

+0

這是一個sqlplus功能:'&something'是一個你會得到提示的參數。在你的sql腳本中,添加'set define off' - http://ss64.com/ora/syntax-sqlplus-set.html –