zhuhichn 发表于 2013-1-25 21:46:13

db2存储过程调用load命令

88504018喜欢 db2 oracle java的朋友进来了
 
在存储过程中要调用load命令,要使用系统存储过程,一个是ADMIN_CMD,一个是DB2LOAD,前者要在后面版本才有,我的是8.1没有这个存储过程用的是DB2LOAD,下面是表和关键sql。
 
CREATE TABLE "NC001   "."SNMP_MIB"("OID" CHAR(200) NOT NULL ,   "ONAME" CHAR(100) NOT NULL ,   "PID" CHAR(200) )CREATE TABLE "NC001   "."MIB"("OID" CHAR(200) NOT NULL ,   "ONAME" CHAR(100) NOT NULL ,   "PID" CHAR(200) ) 
 存储过程中关键sql
declare SqlStr varchar(500);      declare v_version_number INTEGER default 1;      declare v_cursor_statement VARCHAR(32672);      declare v_load_command VARCHAR(32672);      declare v_sqlcode INTEGER default -1;      declare v_sqlmessage VARCHAR(2048) default '';      declare v_rows_read BIGINT default -1 ;      declare v_rows_skipped BIGINT default -1;      declare v_rows_loaded BIGINT default -1;      declare v_rows_rejected BIGINT default -1;      declare v_rows_deleted BIGINT default -1;      declare v_rows_committed BIGINT default -1;      declare v_rows_part_read BIGINT default -1;      declare v_rows_part_rejected BIGINT default -1;      declare v_rows_part_partitioned BIGINT default -1;      declare v_mpp_load_summary VARCHAR(32672) default NULL;          CALL sysproc.db2load ( v_version_number                        ,'declare cur cursor for select * from SNMP_MIB'                        ,'load from cur of cursor modified by norowwarnings insert into MIB NONRECOVERABLE'                        , v_sqlcode                        , v_sqlmessage                        , v_rows_read                        , v_rows_skipped                        , v_rows_loaded                        , v_rows_rejected                        , v_rows_deleted                        , v_rows_committed                        , v_rows_part_read                        , v_rows_part_rejected                        , v_rows_part_partitioned                        , v_mpp_load_summary                        ) ;  
页: [1]
查看完整版本: db2存储过程调用load命令