[英]db2 sql script file
我有一個 oracle 腳本,我正試圖將其轉換為有效的 db2 語法。 在這個 sql 文件中,我對使用“@”語法傳遞參數的其他 sql 文件進行了各種調用。
例如
@script1 param1
@script2 param2
任何人都可以幫助我提供有效的 db2 等效語句嗎? db2 中是否有等效的運行命令? 是否可以將參數傳遞給 db2 中的 sql 腳本?
謝謝,
斯莫埃爾
您所追求的是DB2 Command Line Processor (CLP)。
如果你想執行一個腳本,你會在 CLP 中執行:
db2 -vtf script1
-f 告訴 CLP 從給定文件運行命令輸入。
這是選項的完整列表。
不幸的是,db2 不支持將參數傳遞給腳本。 您必須將 db2 -vtf 命令與其他腳本命令(例如 sed)結合起來才能為您生成腳本,如 本例所示。
1)將filename.sql文件放在SQLLIB/BIN中
2) 運行 db2cmd
3)執行此連接到所需的數據庫
db2 connect to *dbname* user *userid* using *password*
4)執行這條命令
db2 -vtf *filename.sql*
這樣應該一條一條執行文件中的sql語句。 sql語句必須以分號結尾
有一種更簡單的傳遞參數的方法,對我們來說效果很好(它可能不適用於(復雜的)多行 sql 語句)。
通過在每行的開頭添加“db2”,將您的 sql 腳本轉換為 shell 腳本。 比您可以在腳本中使用 shell 中的標准變量替換語法。
所以而不是
insert ...
update ...
你將會有
db2 insert ...
db2 update ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.