Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11268339
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-06-08 02:39:54

产品: DB2 UDB
平台: Unix,Linux及Windows
版本: V8.1


有些时候您可能知道某一程序包(PACKAGE)的名字,但是却不知道对应于该包的数据库程序(比如存储过程)的名称,那么,有什么办法能获知包(Package)所对应的数据库程序(Routine)的名字吗?


您可以通过查询系统视图获得有关信息,如下例所示,比如您已经知道该包的名字为"P2052060",通过查询系统视图syscat.routines,您可以知道对应的数据库程序名为STPTAB1,类别为存贮过程(ROUTINETYPE='P'):

F:>db2 "select char(routineschema,10) schema,char(routinename,30) name,routinetype
from syscat.routines where implementation like 'P2052060%'"

SCHEMA     NAME                           ROUTINETYPE
---------- --------------- -----------
ABCDEF     STPTAB1                        P

1 条记录已选择。

如果您知道该程序类别为存储过程,您也可以直接访问系统视图syscat.procedures获得相关信息,如下例所示:

F:>db2 "select char(procschema,10) schema,char(procname,30) name from syscat.procedures
where implementation like 'P2052060%'"

SCHEMA     NAME
------- ------------------------------
ABCDEF     STPTAB1

1 条记录已选择。


阅读(2041) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~