您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

DB2导出存储过程的DDL语句的方法

2026/1/29 3:28:54发布26次查看
日常dba的工作就是获取sp的代码,以便于分析或者移植到别的环境,如何快速获取sp的ddl呢,总结了下,db2在获取sp的ddl语提供的方
日常dba的工作就是获取sp的代码,以便于分析或者移植到别的环境,如何快速获取sp的ddl呢,总结了下,db2在获取sp的ddl语提供的方法还是比较多,可以供参考:
1  select routinename,text from sysibm.sysroutines;
上面是通过数据字典表查询获取,与其等效的系统视图查询获取方法
db2 select char(routineschema,20), char(routinename,20), text from syscat.routines >
此方法的缺陷是当text>32767时,导出的该条存储过程是不完整的。
2 get routine
1)获取所有存储过程的名称:
db2 select char(routineschema,20) as schema, char(routinename,20) as name from syscat.routines where substr(varchar(text),1,16) = 'create procedure' >
2)根据输出文件中存储过程的名称,分别对每个存储过程执行如下操作,以便将完整的创建语句输出到指定文件中:
db2 get routine into from procedure .
当然上面方法的好处就是均可以指定具体sp名称,对单独的sp进行ddl的结构导出。
3 db2look 命令的 -e 选项中增加了对存储过程的创建语句的提取
  db2look -d   -cor -e -o
4 使用export:
db2 export to procudure.del of del lobs to sp.del modified by lobsinfile select 'set current schema '||rtrim(procschema)||'@'||chr(10)||'set current path = sysibm,sysfun,sysproc,'||rtrim(procschema)||' @'||chr(10)||text||chr(10)||'@'||chr(10) from syscat.procedures order by create_time ;
注意必须加lobs to选项,否则大的存储过程定义只能导出一部分
上面的第三和第四种方法无法指定sp名称,基本是全库的sp的所有结构,所以可以根据工作中的需求选择合适快捷的方法,总而言之,db2提供了足够多的方法便利了dba在日常工作需求。
db2数据库性能调整和优化(第1、2版) pdf
db2数据库性能优化介绍
db2 9.7 for linux 5.4安装详细步骤
本文永久更新链接地址:

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product