国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

使用腳本加速 DB2 存儲過程開發
2007-07-18   developerWorks 中國

在針對 DB2 存儲過程的開發中,您是否覺得 DB2 提供的開發工具雖然功能強大,但是執行速度較慢,稍顯笨重,而我們的日常開發中僅僅使用了一些比較常用的功能。你是否覺得雖然其工具操作起來比較直觀,但是在處理大量創建、修改操作或者重復執行一些操作時就會比較費時?是否感覺使用其工具,無法方便的記錄跟蹤我們執行過的操作?如果您有上述的問題,本文會給您提供一個解決辦法——使用 Windows 腳本進行 DB2 存儲過程開發。腳本通常執行速度快捷,靈活;善于處理批量操作;以文本格式編寫的腳本也方便我們查看具體我們執行了哪些操作。腳本的特點恰恰幫助我們解決了剛剛提到的問題。

  本文主要討論使用 Windows 腳本與 DB2 交互的一些常用技巧和方法。介紹了利用 Windows 的腳本(批處理程序)連接數據庫,查詢表結構,UDF之間的引用關系,存儲過程中使用了哪些表等等。同時通過一個演示項目的開發過程的介紹來展示如何使用文中的腳本進行開發。

  背景知識簡介

  Windows 腳本常用命令

  Windows 腳本也稱之為批處理程序,是一個包含了一些需要順序執行的 Windows 命令的文本文件,其擴展名為 bat 或 cmd。由于本文的腳本需要傳入參數,讀者需要在控制臺中執行本文提供的 Windows 腳本。

  下面是 Windows 中的一些常用命令和符號。這里僅僅列出一些說明,如果想了解 Window 命令的詳細信息,請參考本文提供的參考資料。

  •   REM:行注釋命令,它不會被執行,只是起一個注釋的作用,便于代碼的閱讀和維護;
  •   ECHO:命令主要參數有 OFF 和 ON,用于控制是否在控制臺上顯示正在執行的命令。也可以使用 ECHO message 來顯示一個特定的消息;
  •   GOTO: 即為跳轉的意思。在腳本中以“:XXX”構建一個標號然后用GOTO XXX 來執行標號后的命令;
  •   CALL: 命令用于在主腳本執行過程中調用子腳本,當子腳本執行完畢后再繼續執行主腳本。如果我們不使用 CALL 來調用子腳本,而是在主腳本中直接調用子腳本,那么被調用的子腳本執行完畢,也就表示主腳本執行的完畢,主腳本后續的命令將不會被執行;
  •   PAUSE: 暫時停止腳本的執行;
  •   PROMPT: 修改命令提示符。PROMPT [text]。text 表示新的提示符。 $P 代表當前路徑,$G 代表 >;
  •   START: 打開一個新的窗口執行某個命令。如果 START 后面跟的是一個文件名,那么 Windows 會調用打開該種文件的程序將其打開。例如,如果你設定 notepad(記事本)為 *.log 文件的打開程序。那么執行 START my.log 命令后,Windows 會啟動 notepad(記事本)程序,并且打開 my.log 文件;
  •   符號(@):@ 符號可以關閉當前命令行的回顯。我們從上面知道用命令 echo off 可以關掉整個批處理的命令回顯但卻不能不顯示 echo off 這個命令。現在我們在這個命令前加上 @,這樣 echo off 這一命令就被 @ 關閉了回顯,從而達到所有命令均不回顯的要求;
  •   管道(輸出重定向)命令 > 和 >>:將命令輸出的結果重定向到特定文件中, > 與 >> 的區別在于,> 會清除文件中原來的內容,然后把輸出結果寫入文件,而 >> 只會追加內容到文件中,而不會改動其中原有的內容;
  •   Windows 腳本參數:我們可以向腳本傳遞參數,并且可以在腳本中通過 %n 來引用。腳本每次能處理的變量從 %0~%9 共 10 個。其中 %0 默認為批處理的文件名。

  DB2 CLP 簡介

  DB2 Command Line Processor(DB2 CLP)是所有 DB2 產品中都有的,可以使用這個應用程序運行 DB2 命令、操作系統命令或 SQL 語句。DB2 CLP 可以成為強大的工具,因為它能夠將經常使用的命令或語句序列存儲在批處理文件中,可以在必要的時候運行這些批處理文件。在 Windows 系統中,必須先(從普通命令窗口)運行 db2cmd 命令來啟動 DB2 命令行環境。

  在什么時候使用本文介紹的腳本?

  腳本的優勢在于可以重復執行。如果一個任務會被執行多次,或者被多人執行。那么將該任務編寫成腳本會提高任務的執行效率和準確性。本文介紹的腳本都是一些在我們進行存儲過程開發和調試中經常用到的。讀者在后面會漸漸體會到腳本給我們帶來的便利。

DB2 系統表的功能

  編寫針對 DB2 的腳本,我們需要首先了解 DB2 為我們提供了哪些命令和信息。DB2 為我們提供了大量的命令例如連接數據庫,執行一個 SQL 文件,獲得表結構的信息等等。我們會在下面解釋具體的腳本的同時對一些簡單的 DB2 命令進行解釋說明。同時,DB2 把數據庫對象的很多信息都存儲到了系統表中。熟悉這些系統表就能夠通過 SQL 語句獲得我們需要的信息。下面我們先來學習一下 DB2 系統表。

  在 DB2 數據庫被創建的時候,DB2 會創建一些系統表。這些系統表中記錄了所有數據庫對象的信息,表或視圖的列的數據類型,約束的定義,對象的權限和對象之間的依賴關系等。這些系統表的模式為 SYSIBM,其表名以 SYS 作為前綴。例如: SYSTABLES、SYSVIEWS 等等。DB2 為這些系統表建立了相對應的只讀視圖。這些視圖的模式是 SYSCAT,它們的內容是其相對應的系統表的全部或者部分內容。這些視圖的名字沒有 SYS 的前綴。例如:SYSCAT.TABLES 是 SYSIBM.SYSTABLES 的視圖。

  我們可以通過 LIST TABLES FOR SYSTEM 或 LIST TABLES FOR SCHEMA schemaname 命令查看所有的系統表和相關的視圖信息。下面我們會介紹一些本文用到的系統表和視圖。

  SYSCAT.TABLES:數據庫中對象的信息,包括 table,view,nickname 和 alias 的一些定義。詳細說明見表 1。

表 1. SYSCAT.TABLES 視圖的說明

列名 數據類型 描述
TABSCHEMA VARCHAR(128) 記錄 schema 的名字
TABNAME VARCHAR(128) 記錄數據庫對象的名稱。包括表、視圖、別名等
TYPE CHAR(1) 表示該數據庫對象是表,視圖還是別名 ('T'表示table; 'V'表示 view; 'N' 表示nickname; 'A' 表示 alias。)
COLCOUNT SMALLINT 表或視圖中列的個數
……

  SYSCAT.VIEWS:視圖的定義信息。詳細說明見表 2。

表 2. SYSCAT.VIEWS 視圖的說明

列名 數據類型 描述
VIEWSCHEMA VARCHAR(128) 視圖的 Schema
VIEWNAME VARCHAR(128) 視圖名稱
READONLY CHAR(1) 視圖是否只讀:
  • Y = 視圖是只讀
  • N = 視圖不是只讀
VALID CHAR(1) 視圖狀態是否合法:
  • Y = 視圖狀態合法(valid)
  • X = 視圖狀態不合法(invalid)
TEXT CLOB (64K) 視圖的源程序(DDL)
……

  SYSCAT.ROUTINES:DB2 UDF,系統方法(system-generated method),用戶定義方法(user-defined method)和存儲過程(SP)的定義。我們可以認為該視圖包含了數據庫中程序的定義。

熱詞搜索:

上一篇:在WebSphere和DB2中使用標準數據格式
下一篇:EnterpriseDB正式進軍中國市場

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲图片欧美色图| 亚洲免费av观看| 欧美丝袜第三区| 色综合中文字幕| 99精品视频一区二区三区| 国产精品系列在线观看| 国内外精品视频| 国产成人一区在线| 国产91精品一区二区麻豆网站| 国产精品一二三四区| 国产一区久久久| 国产麻豆成人传媒免费观看| 国产精品一级二级三级| 成人app网站| 色婷婷久久久久swag精品| 欧美亚洲尤物久久| 777色狠狠一区二区三区| 777色狠狠一区二区三区| 欧美精品一区二区三区蜜桃视频| 久久免费看少妇高潮| 中文字幕第一页久久| 亚洲综合激情网| 免费看日韩a级影片| 国产精品1区2区3区在线观看| eeuss鲁一区二区三区| 91激情五月电影| 91麻豆精品国产91久久久使用方法| 2023国产精华国产精品| 国产精品久久夜| 亚洲高清免费观看| 六月婷婷色综合| 波多野结衣一区二区三区| 欧美熟乱第一页| 国产日韩在线不卡| 亚洲综合精品久久| 国产一区在线观看麻豆| 91视频观看免费| 日韩免费视频线观看| 亚洲欧美在线观看| 五月激情综合婷婷| 成人黄色网址在线观看| 欧美一区二区三区视频在线| 中文字幕一区二区三区四区| 麻豆国产一区二区| 色爱区综合激月婷婷| 精品日韩在线观看| 丝袜诱惑制服诱惑色一区在线观看| 国产成人精品三级| 欧美一区二区三级| 亚洲一区中文在线| 成人精品高清在线| 久久综合给合久久狠狠狠97色69| 亚洲精品视频观看| 福利电影一区二区| 欧美成人一级视频| 偷拍一区二区三区| 94-欧美-setu| 国产视频一区二区在线观看| 日韩电影在线一区二区| 欧美亚洲禁片免费| 中文字幕中文在线不卡住| 精品亚洲国内自在自线福利| 欧美日本在线一区| 一区二区在线免费观看| 成人av中文字幕| 欧美激情自拍偷拍| 粉嫩av一区二区三区粉嫩| 精品国产乱码久久| 捆绑调教美女网站视频一区| 欧美日韩的一区二区| 亚洲成人你懂的| 欧美色网站导航| 一区二区三区加勒比av| 色综合视频一区二区三区高清| 国产精品麻豆一区二区| 成人黄色在线看| 日本一区二区三区四区| 懂色av一区二区三区免费观看| 2017欧美狠狠色| 国产乱人伦精品一区二区在线观看| 精品久久久久一区| 极品美女销魂一区二区三区| 久久亚洲综合色一区二区三区| 久久99久久99精品免视看婷婷| 久久人人97超碰com| 国产一区二区免费在线| 国产网红主播福利一区二区| 高清不卡一区二区在线| 成人欧美一区二区三区视频网页| 91麻豆swag| 亚洲电影欧美电影有声小说| 欧美一级欧美一级在线播放| 狠狠色狠狠色综合日日91app| 久久精品在这里| 成a人片国产精品| 久久激情五月婷婷| 久久久久一区二区三区四区| av亚洲精华国产精华| 一卡二卡欧美日韩| 日韩一区二区免费电影| 国产精品18久久久久久vr| 国产精品久线观看视频| 欧美亚洲国产一区在线观看网站| 天堂一区二区在线免费观看| 久久网站最新地址| 成人污污视频在线观看| 亚洲一区中文日韩| 精品国产乱码久久久久久浪潮 | 91精品国产丝袜白色高跟鞋| 久久精品99久久久| 成人欧美一区二区三区| 在线观看91av| 成人免费的视频| 香蕉乱码成人久久天堂爱免费| 欧美精品一区二区久久久| 91国偷自产一区二区三区成为亚洲经典| 日本不卡一二三区黄网| 国产精品丝袜一区| 91精品国产欧美一区二区成人| 懂色av中文一区二区三区| 日韩国产欧美视频| 亚洲视频图片小说| 久久久久久久电影| 91精品久久久久久蜜臀| 99久久综合狠狠综合久久| 久久99在线观看| 亚洲成人777| 中文字幕一区av| 精品999在线播放| 欧美老肥妇做.爰bbww| 91污片在线观看| 国产福利一区二区三区视频| 日日骚欧美日韩| 亚洲精品国产一区二区三区四区在线 | 91久久精品日日躁夜夜躁欧美| 亚洲日本一区二区| 26uuu亚洲婷婷狠狠天堂| 欧美日韩高清一区二区不卡| 97久久精品人人爽人人爽蜜臀| 久久99精品国产| 日韩不卡一区二区三区| 亚洲二区在线观看| 一区二区三区中文在线| 综合久久综合久久| 国产精品每日更新在线播放网址| 久久久精品tv| 久久久午夜精品理论片中文字幕| 欧美一区二区三区在线电影| 欧美精品一卡二卡| 欧美日本不卡视频| 欧洲在线/亚洲| 91精品办公室少妇高潮对白| 在线观看一区二区精品视频| 一本一道波多野结衣一区二区| 91麻豆精品一区二区三区| 91小宝寻花一区二区三区| 色综合久久久久综合体桃花网| 91丨九色丨尤物| 一本大道久久a久久综合| 色婷婷综合五月| 欧美网站大全在线观看| 欧美日韩一区不卡| 91精品国产综合久久精品麻豆| 欧美一区二区三区在线看| 欧美一区二区三区视频免费播放| 日韩一级精品视频在线观看| 日韩精品影音先锋| 久久男人中文字幕资源站| 国产精品视频在线看| 亚洲乱码日产精品bd| 夜夜揉揉日日人人青青一国产精品| 亚洲乱码精品一二三四区日韩在线| 一区二区久久久| 日本不卡123| 国产成人丝袜美腿| 色综合久久久久| 91精品国产乱| 国产日本欧洲亚洲| 一区二区三区91| 国产麻豆精品theporn| 国产很黄免费观看久久| 成人av在线资源网站| 欧美日韩一区精品| 精品国产精品网麻豆系列| 国产日韩亚洲欧美综合| 亚洲免费观看在线视频| 午夜精品123| 国产高清不卡二三区| 欧美三区在线观看| 日韩精品中文字幕一区二区三区| 国产欧美一区二区精品性| 亚洲综合在线视频| 韩国三级电影一区二区| 色国产综合视频| 2023国产精华国产精品| 亚洲国产精品久久艾草纯爱| 成人av资源站| 精品国产91久久久久久久妲己| 亚洲人123区| 国产成人精品综合在线观看 |