我有一個oracle腳本,我試圖將其轉換爲有效的db2語法。在這個sql文件中,我對使用'@'語法傳入參數的其他sql文件進行了各種調用。db2 sql腳本文件
例如
任何人都可以幫助我與有效的db2等效語句?在db2中是否有等價的運行命令?是否有可能將參數傳遞給db2中的sql腳本?
感謝,
smauel
我有一個oracle腳本,我試圖將其轉換爲有效的db2語法。在這個sql文件中,我對使用'@'語法傳入參數的其他sql文件進行了各種調用。db2 sql腳本文件
例如
任何人都可以幫助我與有效的db2等效語句?在db2中是否有等價的運行命令?是否有可能將參數傳遞給db2中的sql腳本?
感謝,
smauel
你之後的東西是DB2 Command Line Processor (CLP).
如果你想執行一個腳本,你將執行在CLP:
db2 -vtf script1
- f告訴CLP運行給定文件的命令輸入。
不幸的是,db2不支持將參數傳遞給腳本。您必須將db2 -vtf命令與其他腳本命令(如sed)結合起來才能爲您生成腳本,如this example。
傳遞參數有一個簡單的方法,對我們來說工作正常(它可能不適用於(複雜)多行SQL語句)。
通過在每行開始處添加'db2'將您的sql腳本轉換爲shell腳本。您可以在腳本中使用shell中的標準變量替換語法。
所以不是
insert ...
update ...
,你將有
db2 insert ...
db2 update ...
1)放置filename.sql文件SQLLIB/BIN
2)運行DB2CMD
3)執行此操作以連接到所需的db
db2 connect to *dbname* user *userid* using *password*
4)EXCUTE此命令
db2 -vtf *filename.sql*
這應該由一個執行文件之一的SQL語句。 sql語句必須以分號結尾