導(dǎo)出所有DB2存儲過程的四種方法
DB2存儲過程如果要全部導(dǎo)出的話,是否可行呢?答案是肯定的,下面就為您介紹四種導(dǎo)出所有DB2存儲過程的方法,希望對您學(xué)習(xí)DB2存儲過程方面能有所幫助。
1)從 DB2 的目錄表 SYSCAT.ROUTINES 中選取:
在 SYSCAT.ROUTINES 系統(tǒng)目錄表中,有一個名為 TEXT 的字段,其數(shù)據(jù)類型定義為 CLOB,長度為 2M(2097152 個字節(jié)),用于存放存儲過程的創(chuàng)建語句。為得到全部存儲過程的定義,可使用類似如下 SELECT 語句,并將定義輸出到一個文件中。
DB2 SELECT CHAR(ROUTINESCHEMA,20), CHAR(ROUTINENAME,20), TEXT FROM SYSCAT.ROUTINES ><輸出文件名>
此方法的缺陷是當(dāng)text>32767時,導(dǎo)出的該條存儲過程是不完整的。
2)對于 v8.2 之后的 DB2,DB2LOOK 命令的 -e 選項(xiàng)中增加了對存儲過程的創(chuàng)建語句的提取,用戶通過執(zhí)行:
db2look -d <數(shù)據(jù)庫名> -e -o <輸出文件名>
在命輸出文件中找到“存儲過程的 DDL 語句”段,從而獲得創(chuàng)建所有存儲過程的語句。
據(jù)說,db2 v8中 的db2look導(dǎo)出的存儲過程是不完整的
3)通過 GET ROUTINE 命令來完成:
由于 GET ROUTINE 只能在已知存儲過程名稱后,對單個存儲過程進(jìn)行,因此需要分成兩個步驟來完成:
1. 獲取所有存儲過程的名稱:
DB2 SELECT CHAR(ROUTINESCHEMA,20) AS SCHEMA, CHAR(ROUTINENAME,20) AS NAME FROM SYSCAT.ROUTINES WHERE SUBSTR(VARCHAR(TEXT),1,16) = 'CREATE PROCEDURE' ><輸出文件名>
2. 根據(jù)輸出文件中存儲過程的名稱,分別對每個存儲過程執(zhí)行如下操作,以便將完整的創(chuàng)建語句輸出到指定文件中:
DB2 GET ROUTINE INTO <輸出文件名> FROM PROCEDURE <存儲過程模式名>.<存儲過程名>
這個有點(diǎn)繁瑣
4)使用export:
db2 "EXPORT TO procudure.del OF del MODIFIED BY LOBSINFILE SELECT 'SET CURREN

責(zé)任編輯:任我行
- 相關(guān)閱讀
- 碳交易
- 節(jié)能環(huán)保
- 電力法律
- 電力金融
- 綠色電力證書
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè)
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報(bào)告 | 基于分類監(jiān)管與當(dāng)量協(xié)同的碳市場框架設(shè)計(jì)方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉(zhuǎn)型與經(jīng)濟(jì)發(fā)展并進(jìn)
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
2020年二季度福建省統(tǒng)調(diào)燃煤電廠節(jié)能減排信息披露
2020-07-21火電環(huán)保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規(guī)范法律問題研究(上)
2019-10-31能源替代規(guī)范法律 -
區(qū)域鏈結(jié)構(gòu)對于數(shù)據(jù)中心有什么影響?這個影響是好是壞呢!