db2數(shù)據(jù)庫基礎(chǔ)知識(shí) DB2怎么執(zhí)行帶輸出參數(shù)的存儲(chǔ)過程?
DB2怎么執(zhí)行帶輸出參數(shù)的存儲(chǔ)過程?DB2不了解,說一下SQLServer的。SQLServer不支持以逗號(hào)隔開的多個(gè)IN條件的參數(shù)傳入,解決辦法是拼湊SQL腳本,最后用exec方法執(zhí)行這個(gè)腳本,如:
DB2怎么執(zhí)行帶輸出參數(shù)的存儲(chǔ)過程?
DB2不了解,說一下SQLServer的。SQLServer不支持以逗號(hào)隔開的多個(gè)IN條件的參數(shù)傳入,解決辦法是拼湊SQL腳本,最后用exec方法執(zhí)行這個(gè)腳本,如:DECLARE @sql nvarchar(500)DECLARE @inStr nvarchar(50)SET @inStr="""條件1"",""條件2"""--SELECT * FROM table WHERE field1 IN (@inStr)--出錯(cuò)SET @sql="SELECT * FROM table WHERE field1 IN (" @inStr ")"--PRINT @sqlEXEC(@sql)
如何使用Dbvisualizer工具調(diào)用db2存儲(chǔ)過程顯示輸出參數(shù)結(jié)果?
dbvisualizer中執(zhí)行命令是在:Help=》License Key。具體如下:
第一步:把下載的dbvis.puk文件,替換掉安裝目錄“D:Program FilesDbVisualizer-6.0.12lib”下dbvis.jar里面的這個(gè)文件dbvis.puk。
第二步:然后打開軟件,選擇Help=》License Key ,然后下載導(dǎo)入dbvis.license文件。
第三步:重起一下軟件就可以了。
DbVisualizer是一個(gè)完全基于JDBC的跨平臺(tái)數(shù)據(jù)庫管理工具,內(nèi)置SQL語句編輯器,凡是具有JDBC數(shù)據(jù)庫接口的數(shù)據(jù)庫都可以管理,已經(jīng)在Oracle, Sybase, DB2, MySQL, InstantDB, Cloudcape, HyperSonic ,Mimer SQL上通過測試。
調(diào)用db2存儲(chǔ)過程只有一個(gè)輸出參數(shù)怎么寫call?
定義一個(gè)變量,放在?號(hào)的位置即可
db2怎么把所有表中的數(shù)據(jù)導(dǎo)出成insertinto語句?
db2的存儲(chǔ)過程也可以執(zhí)行動(dòng)態(tài)SQL,你可以把"001","002" 檔次一個(gè)參數(shù)傳進(jìn)存儲(chǔ)過程,然后聲明一個(gè)變量:
create or replace procedure test(in in_where varchar(100)) --創(chuàng)建一個(gè)存儲(chǔ)過程test,并可以傳入字符串作為參數(shù)declare v_sql varchar(512) set v_sql = " delete from table1 where field1 in (" concat in_where concat ") " -- 這里是把傳進(jìn)來的where語句拼起來execute immediate v_sql --這里是把語句進(jìn)行執(zhí)行--------- 類似以上這樣的存儲(chǔ)過程,使用以下的放在進(jìn)行執(zhí)行即可:call test( " ""001"",""002"" ") --內(nèi)容中的一個(gè)‘ 需要使用 ’‘ 進(jìn)行轉(zhuǎn)義