2008年(8065)
分类: 服务器与存储
2008-06-08 02:39:54
有些时候您可能知道某一程序包(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 条记录已选择。