2011-10-17 66 views
0

在MS-SQL,我可以做這樣的事情最新的DB2查詢語法PARAMS

@myVar AS int; 
@myVar = 12; 

SELECT * FROM table WHERE field = @myVar; 

這完全彈出DB2 - 我不知道這是否是RDBMS特定的或者是因爲我FUBAR'd語法...

任何幫助表示讚賞

+0

任何錯誤信息?通常你必須聲明一個變量。 –

+0

什麼DB2的味道 - iSeries或LUW?這裏甚至有不同之處...... –

回答

0

有東西數量有限,您可以在DB2 SQL動態做比較,MS-SQL。大多數您似乎正在嘗試的語法僅保留用於db2中的過程。看到這裏的文檔爲http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0004240.html您可以在DB2動態做什麼。

如果你沒問題在運行時提供參數值只需使用 select * from table where field = ?;當你運行它時,它會要求你提供一個parm的值。

+0

不是即時的 - 但也許我會嘗試 - 我只是想要執行一系列查詢,使用類似的過濾器數據 - 我想如果我在頂部鍵入一次 - 當我想重新使用該腳本時,我將不得不一遍又一遍地重新輸入它。 文章是沒有好處的 - 但我欣賞的幫助。 – jpmyob

0

如果使用ADO.NET數據提供連接到DB2 Express-C中,你可以用@前綴綁定SQL參數。

我不確定其他DB2環境,但其他數據庫中使用的常見符號如下::?,因此可能值得嘗試其中一種。

+0

有趣 - 我使用的是com.ibm.db2.jcc.DB2Driver(的db2jcc.jar) 連接直通DBeaver客戶端。也許我會嘗試IBM控制中心(這將永遠!)..:似乎沒有幫助。謝謝 – jpmyob