DB2导出存储过程的四种方法

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:194

[backcolor=inherit]方法有四种:
[backcolor=inherit]1 select routinename,text from sysibm.sysroutines;
[backcolor=inherit]1.1 、DB2 SELECT CHAR(ROUTINESCHEMA,20), CHAR(ROUTINENAME,20), TEXT FROM SYSCAT.ROUTINES > <输出文件名>
[backcolor=inherit]此方法的缺陷是当text>32767时,导出的该条存储过程是不完整的。

[backcolor=inherit]2 DB2LOOK 命令的 -e 选项中增加了对存储过程的创建语句的提取
[backcolor=inherit] db2look -d <数据库名> -e -o <输出文件名>

[backcolor=inherit]3 GET ROUTINE
[backcolor=inherit]1) 获取所有存储过程的名称:
[backcolor=inherit]DB2 SELECT CHAR(ROUTINESCHEMA,20) AS SCHEMA, CHAR(ROUTINENAME,20) AS NAME FROM SYSCAT.ROUTINES WHERE SUBSTR(VARCHAR(TEXT),1,16) = 'CREATE PROCEDURE' > <输出文件名>
[backcolor=inherit]2) . 根据输出文件中存储过程的名称,分别对每个存储过程执行如下操作,以便将完整的创建语句输出到指定文件中:
[backcolor=inherit]DB2 GET ROUTINE INTO <输出文件名> FROM PROCEDURE <存储过程模式名>.<存储过程名>

[backcolor=inherit]4 使用export:
[backcolor=inherit]db2 "EXPORT TO procudure.del OF 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 ; "

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】