db2存储过程迁移

一、导出存储过程

EXPORT TO D:/PROCUDURE/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 WHERE PROCSCHEMA  = ‘ILS‘ ORDER BY create_time ;

执行以上导出语句,则是把schema为ils下面的存储过程导出为文件,因为有ORDER BY create_time,所以导出的顺序也是按照原有存储过程的顺序建立的。

执行完了,应该在G:/PROCUDURE看到两个文件

1. procudure.del

2. procudure.del.001.lob

二、导入存储过程

下一步当然是在其他db下面导入存储过程啦:

1. 命令行下进入到存储过程所在目录

2. 连接到要导入的db:  connect to cmdb user xxx using  xxx

3. db2 [email protected] -vf procudure.del.001.lob

时间: 2024-08-24 15:53:41

db2存储过程迁移的相关文章

db2 存储过程迁移方法

大家在迁移数据库时,存储过程一般也要迁移过去,但一般有两个问题: 1. 很多存储过程有先后关系(存储过程调用存储过程),如果存储过程数量少,还能手动操作,如果量大,那真是要疯了. 2. 存储过程过大(行数过多),导致异常 这边有个方法,或许可以解决这个问题. 一. 导出存储过程 EXPORT TO G:/PROCUDURE/procudure.del OF del MODIFIED BY LOBSINFILE SELECT 'SET CURRENT SCHEMA '||rtrim(procsch

DB2 存储过程语法(翻译)

语法说明 1.procedure-name: 存储过程的名字,在同一个数据库的同一模式下,不能存在存储过程名相同参数数目相同的存储过程,即使参数的类型不同也不行. 2.(IN | OUT | INOUT parameter-name data-type,...) :传入参数     IN:输入参数 OUT:输出参数 INOUT:作为输入输出参数     parameter-name:参数名字,在此存储过程中唯一的标识符. data-type:参数类型,可以接收SQL类型和创建的表.不支持LONG

DB2数据库迁移数据到Oracle数据库

刚到公司后,领导交给我个任务:把DB2数据库中的数据导入到Oracle数据库,本人尝试以下方法,挺快的.还要导入db2jcc.jar.db2jcc_license_cu.jar.ojdbc14.jar三个相应的jar包. 数据迁移:1.在DB2数据库中通过以下表查询出表的结构SELECTTABNAME TAB, --表英文名称COLNAME COL, --列名称CASE WHEN TYPENAME='VARCHAR' THEN 'VARCHAR2'WHEN TYPENAME LIKE 'SMAL

db2存储过程

一. 使用存储过程的好处 1. 减少客户机与服务器之间的网络使用率,以及数据库锁定保持的时间 应用程序通常在执行每个SQL语句都要跨网络两次,存储过程可以将SQL语句集中在一起, 从而使得对于每一组SQL语句只需要跨网络两次.存储过程中集中在一起的SQL语句越多, 网络的使用率和数据库锁定保持的时间就越低.通过减少网络使用率和数据库锁定的时间长短, 就可以提高网络的总体性能并减少锁定争用问题. 二. 用于存储过程的语言 在DB2的"开发中心",可以用Java或SQL来创建存储过程. 三

db2存储过程报SQL0104N错误

ERROR [42601] [IBM][DB2/LINUXX8664] SQL0104N  An unexpected token "insert" was found following "".  Expected tokens may include:  "<psm_semicolon>". 这种情况是存储过程语法报错,解决方法是注释一段代码,执行存储过程,去测试是哪一段代码语法有问题

DB2存储过程语法规则

如何声明一个存储过程CREATE PROCEDURE 存储过程名(IN 输入变量名 输入变量类型,OUT 输出变量名 输出变量类型)紧跟其后的是存储过程属性列表            常用的有:LANGUAGE SQL.MODIFIES SQL DATA.RESULT SETS 1(返回结果集个数)l         存储过程体以begin开始l         存储过程体以end结束存储过程约束规则存储过程中调用存储过程CALL 存储过程名(参数1,参数2,参数n)例:call spco_in

db2存储过程动态sql被截断

编写存储过程,使用动态sql时,调试时发现变量赋值后被截断. 关键代码如下: 实现的效果是先把上下游做对比的sql语句和相关参数存入RKDM_DATA_VOID_RULE, 执行存储过程后把两个sql语句得出的结果插入另一张结果表RKDM_DATA_VOID_CHK_REST. 建表语句: CREATE TABLE RKDM_DATA_VOID_CHK_REST ( DATA_DT DATE, ORDR_NUM INTEGER, CHK_BIG_CLS VARCHAR(256), DATA_PR

DB2存储过程实现查询表数据,生成动态SQL,并执行

一.动态执行SQL PREPARE S1 FROM 'delete from test'; EXECUTE S1; 二.使用游标 DECLARE V_CURSOR CURSOR FOR SELECT DELETESQL,INSERTSQL FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; OPEN V_CURSOR; FETCH V_CURSOR INTO V_DELETESQL,V_INSERTSQL; CLOSE V_CURSOR; 三.WHILE循环 WHILE

DB2 存储过程中执行动态SQL

样本代码: DROP PROCEDURE QUOTATION.COPY_SAMPLE; CREATE PROCEDURE QUOTATION.COPY_SAMPLE ( IN tableNameFrom VARCHAR(30) , IN tableNameTo VARCHAR(30) , INOUT copyResult INTEGER) BEGIN DECLARE SQLCODE INTEGER DEFAULT 0; SET copyResult = 0; -- Proecss 1 BEGIN