WEB开发网
开发学院数据库DB2 DB2 基础: 如何从 DB2 UDB 系统编目中获得有用的信... 阅读

DB2 基础: 如何从 DB2 UDB 系统编目中获得有用的信息

 2010-07-20 00:00:00 来源:WEB开发网   
核心提示: 清单 1. SYSCAT.KEYCOLUSE 编目视图的定义createviewsyscat.keycoluse(constname,tabschema,tabname,colname,colseq)asselectconstname,tbcreator,tbname,colname,colse

清单 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 模式中所有编目视图的一个列表:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:DB 基础 如何

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接