簡體   English   中英

db2 sql腳本文件

[英]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 ...

  1. 將文件放在一個目錄中。
  2. 以管理員身份打開 db2cmd.exe
  3. 導航到放置腳本的目錄
  4. 輸入 db2 -vtf `

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM