科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用脚本加速 DB2 存储过程的开发

使用脚本加速 DB2 存储过程的开发

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文主要讨论使用 Windows 脚本与 DB2 交互的一些常用技巧和方法。介绍了利用 Windows 的脚本(批处理程序)连接数据库,查询表结构,UDF 之间的引用关系,存储过程中使用了哪些表等等。

来源:IT专家网 2008年6月3日

关键字: IBM 数据库 DB2

  • 评论
  • 分享微博
  • 分享邮件

表 6 所示的 SYSCAT.PACKAGEDEP 说明了 Pachage 与其他数据库对象的依赖关系。

表 6. SYSCAT.PACKAGEDEP 视图的说明
列名 数据类型 描述
PKGSCHEMA VARCHAR(128) Package 的 schema
PKGNAME VARCHAR(18) Package 的名称
BTYPE CHAR(1) 依赖对象的类型:
  • A = Alias
  • B = Trigger
  • I = Index
  • S = Materialized query table
  • T = Table
  • V = View
BSCHEMA VARCHAR(128) 被依赖的对象的 schema
BNAME VARCHAR(128) 被依赖的对象的名称

表 7 所示的 SYSCAT.TABDEP 说明了视图或者固化视图和 DB2 对象之间的依赖关系。

表 7. SYSCAT.TABDEP 视图的说明
列名 数据类型 描述
TABSCHEMA VARCHAR(128) 视图或者固化视图的 schema
TABNAME VARCHAR(128) 视图或者固化视图的名称
DTYPE CHAR(1) 视图的类型:
  • S = Materialized query table
  • V = View (untyped)
  • W = Typed view
BTYPE CHAR(1) 依赖对象的类型:
  • A = Alias
  • S = Materialized query table
  • T = Table
  • V = View
BSCHEMA VARCHAR(128) 被依赖的对象的 schema
BNAME VARCHAR(128) 被依赖的对象的名称

使用脚本进行存储过程开发

在 DB2 开发过程中我们经常使用的操作是:

  1. 连接数据库;
  2. 在不同的数据库中执行编写好的 SQL 文件,对创建的数据库对象进行简单测试;
  3. 当我们编写存储过程或者 UDF 的时候,我们需要查看其依赖的数据库表或视图的定义;
  4. 修改表结构的时候,我们需要获得所有依赖这个表的存储过程和 UDF,防止因为表结构变化,使得相关的存储过程和 UDF 不可用。

以上操作我们可以在 CLP 下通过调用 DB2 提供的命令或者通过 SELECT 语句从 DB2 系统表中查出相关信息来完成。我们把这些操作编写为如清单 1 所示的脚本。

清单 1. conn.bat ――使用脚本连接数据库
                1.	@echo off
2.	if {%1}=={} goto noparms 
3.	if {%1}=={dev} goto dev
4.	if {%1}=={test} goto test
5.	if {%1}=={prod} goto prod
6.	if {%1}=={off} goto terminate
7.	goto dev

8.	:noparms 
9.	echo Usage: conn db2type 
10.	echo example: conn dev 
11.	echo db2type -- dev, test, prod, off
12.	goto end 

13.	:dev
14.	db2 connect to db2dev user username using password
15.	PROMPT $P(%1)$G
16.	goto end

17.	:test
18.	db2 connect to db2test user username using password
19.	PROMPT $P(%1)$G
20.	goto end

21.	:prod
22.	db2 connect to db2prod user username using password
23.	PROMPT $P(%1)$G
24.	goto end

25.	:terminate
26.	db2 terminate
27.	PROMPT $P$G
28.	goto end 

29.	:end

每次连接数据库我们只需要键入 conn dev/test 就可以完成数据库的连接,简化了命令输入,避免输入错误的用户和密码。同时这个脚本也可被其他的脚本调用。

第 2 个批处理脚本是如清单 2 所示的执行 SQL 文件的脚本。使用方法是 esql test.sql [logs\out.log]

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章