使用脚本加速 DB2 存储过程开发
时间:06-16
来源:IT专家网
点击:
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)的定义。我们可以认为该视图包含了数据库中程序的定义。
……
- IBM下代BI战略Dynamic Warehousing(04-22)
- SQL Server 2005还有多长路要走(04-28)
- 数据库安全不容忽视 监控力度有待加强(05-15)
- 开创混合应用新时代 分析师谈DB2 9(05-22)
- 专家谈电子病历与DB2 9(05-25)
- IBM:DB2 9突破电子病历核心技术瓶颈(05-26)