DB2 基础: 如何从 DB2 UDB 系统编目中获得有用的信息
2010-07-20 00:00:00 来源:WEB开发网清单 1. SYSCAT.KEYCOLUSE 编目视图的定义
create view syscat.keycoluse (constname, tabschema, tabname, colname, colseq)
as select constname, tbcreator, tbname, colname, colseq
from
sysibm.syskeycoluse
在这种情况下,所有 5 个表列都出现在视图中,但是其中有些列名有所不同。这样做只是为了一致性和清晰。
另一个例子是一个更复杂的基于多个表的视图,即 SYSCAT.STATEMENTS。该视图包含与数据库中每个包中的每条 SQL 语句有关的信息,它基于 SYSIBM.SYSPLAN 和 SYSIBM.SYSSTMT 这两个编目表。下面是这个视图的定义:
清单 2. SYSCAT.STATEMENTS 编目视图的定义
create view syscat.statements (pkgschema, pkgname, unique_id, version,
stmtno, sectno, seqno, text)
as select s.plcreator, s.plname, s.unique_id,
(select p.pkgversion from
sysibm.sysplan p
where s.plcreator = p.creator
and s.plname = p.name
and s.unique_id = p.unique_id),
s.stmtno, s.sectno, 1, s.text
from
sysibm.sysstmt s
面向用户的编目视图(SYSCAT 模式)
SYSCAT 模式包含编目表的有用只读视图。SYSCAT 中所有视图上的 SELECT 特权都是 PUBLIC,可以只通过这些视图以及 SYSSTAT 中的视图(后面会更详细地谈到)与系统编目进行交互。
下面的代码将建立到 SAMPLE 数据库的连接,并返回 SYSCAT 模式中所有编目视图的一个列表:
更多精彩
赞助商链接