DB2学习笔记chensy(4)

2019-03-09 16:09

深入浅出DB2

2.10 序列视图

select ?db2ts_client copy sequence –name ?||trim(seqschema)||?.?||seqname||? –source almshwdb –target auditdb ? from syscat.sequences t where t. seqschema in

(?ARIES?,?CMNREF?,?CORE_ADMIN?,?DMDATA?,?LEO?,?LIBRA?,?LIBRISK?,?LOG?,?PARAM?,?RAWDATA?,?RISKDEV?,?SCORPIO?,?SQLJ?,?VIRGO?);

3 数据导入、导出

3.1 数据移动格式

能被DB2支持移动的数据中间交换文件格式有四种:非定界ASCII码文件、定界ASCII码文件(DEL/ASCII)、WSF文件、PC/IXF文件。跨平台建议使用PC/IXF格式传输。

3.2 EXPORT

3.2.1 EXPORT概述

1. 要用于存储已导出数据的操作系统文件的路径和名称。 2. 输入文件中的数据格式:支持IXF、WSF和DEL数据格式。

3. 指定要导出的数据:对大部分导出操作,需提供SELECT语句来指定导出

范围。

3.2.2 导出数据

导出工具所需权限:SYSADM、DBADM,或者拥有访问表和视图上的CONTROL或SELECT特权。

第11页

深入浅出DB2

3.2.2.1 控制中心导出 3.2.2.2 EXPORT命令导出

EXPORT TO “D:\\db2exp\\employee.dat” OF DEL MESSAGES “D:\\

db2exp\\employee.log” SELECT * FROM DB2ADMIN.EMPLOYEE;

? TO filename

指定导出文件的名称; ? OF filetype

指定导出文件的类型。DEL/WDF/IXF ? LOBFILE filename ? LOBS TO lob-path ? MESSAGES message-file

日志信息

? MODIFIED BY filetype-mod ? METHOD N column-name 指定导出列名

? Select-statement

Select 语句指定导出数据

? XMLFILE/XML TO /XMLSAVESCHEMA

3.2.2.3 命令中调用存储过程

Call sysproc.admin_cmd(?export to /home/db2inst1/output/sales.del of del messages /home/db2inst1/output/export.msg select * from sales ?)

3.2.3 导出数据实例

1. 导出分界文件

EXPORT TO “D:\\db2exp\\employee.dat” OF DEL MESSAGES “ D:\\db2exp\\employee.log” SELECT * FROM DB2ADMIN.EMPLOYEE;

2. 导出XML文件

第12页

深入浅出DB2

EXPORT TO “ D:\\db2exp\\XEmployee.del” OF DEL XML TO “ D:\\db2exp\\data” XMLFILE “XEmployee” MODIFIED BY XMLINSEPFILES MESSAGES “ D:\\db2exp\\XEmployee.log” SELECT * FROM “ALLAN WH THAM”.XEMPLOYEE;

3. 导出IXF文件

db2 export to awards.ixf of ixf messages msgs.txt select * from staff where dept=20;

db2 export to c:\\dftz.t of ixf select * from dftz

4. LOB 导出DEL文件

Db2 export to myfile.del of del lobs to mylobs/lobfile lobs1,lobs2 modifiled by lobsinfile select * from emp_photo;

5. LOB导出DEL指定二级目录

Db2 export to myfile.del of del lobs to /db2exp1/,/db2exp2/ modified by lobsinfile select * from emp_photo;

6. 导出加符号格式化

Db2 export to myfile.del of del modified by chardel ?? coldel ; decpt,select * from staff;

3.3 导入

3.3.1 import导入数据

Db2 import from exp.del of del messages msgimport.out insert into sjxt.employee_ee;

3.3.2 load导入

db2 “load from BNK_PRDCT.txt of del replace into ARIES.BNK_PRDCT”

第13页

4 存储过程

4.1 循环插入

一、编写存储过程

create or replace procedure import_data() language sql begin declare i int default 1; set i=1;

while i <100000 do

INSERT INTO SJXT.EMPLOYEE

(EMP_NO ,EMP_NAME,DEPT ,BIRTHDAY ('BK2015001','陈善语' ,'研发部','2015-09-24'); set i=i+1; end while; end@

二、创建存储过程 db2 -td@ -f sqlpro 三、执行存储过程 db2 => call import_data()

4.2 拉链基础

4.3 DB2拉链算法实例

create or replace procedure VIRGO.PROC_L2V_EMPLOYEE (

IN IN_TX_DATE DATE,

OUT OUT_RET_CODE INTEGER, OUT OUT_SQLCODE INTEGER,

OUT OUT_SQLSTATE CHARACTER(5), OUT OUT_SQLMSG INTEGER,

OUT OUT_SQLERRMC VARCHAR(500) )

SPECIFIC VIRGO.PROC_L2V_EMPLOYEE

第14页

深入浅出DB2

) VALUES 深入浅出DB2

MODIFIES SQL DATA NOT DETERMINISTIC NULL CALL

LANGUAGE SQL EXTERNAL ACTION INHERIT SPECIAL REGISTERS

P1:BEGIN

/********************************************************************** Project : PROC_L2V_EMPLOYEE Author : chensy User Contact : chensy

Create Date : 2015-11-25 When run/freq:

Description :员工表ETL处理成员 Input Parameters : IN_TX_DATE

Output Parameters : OUT_RET_CODE = Number of rows inserted : OUT_SQLCODE = contains the DB2 SQLCODE.

Used to check for specific errors/warnings : OUT_SQLSTATE = contains the DB2 SQLSTATE.

Used to check for specific errors/warnings

: OUT_SQLMSG = contain a number which points to a line in the procedure

call and can be used to investigate issues if the proc fails

: OUT_SQLERRMC = contains a message that has details

in regards to the successful execution of the proc or an error Examples:

call VIRGO.PROC_L2V_EMPLOYEE (?,?,?,?,?);

************************************************************************/ ---------------------------拉链算法开始------------------------------ DECLARE V_MAX_DATE DATE;

DECLARE SQLCODE INT DEFAULT 0; DECLARE SQLSTATE CHAR(5) DEFAULT '';

DECLARE V_START_TS TIMESTAMP;

DECLARE V_PROC_NM VARCHAR(128) DEFAULT 'PROC_L2V_EMPLOYEE'; DECLARE V_SCHEMA_NM VARCHAR(30) DEFAULT 'VIRGO'; DECLARE V_OTHER_TEXT VARCHAR(4000);

DECLARE V_INDEX_OBSER_SUBSCR_ROW_ID VARCHAR(24); DECLARE V_INS_ROW_IND CHAR(1);

DECLARE EXIT HANDLER FOR SQLEXCEPTION P3: BEGIN

GET DIAGNOSTICS exception 1 OUT_sqlerrmc = MESSAGE_TEXT; SELECT

SQLCODE, SQLSTATE

INTO OUT_SQLCODE, OUT_SQLSTATE FROM SYSIBM.SYSDUMMY1 WITH UR; ROLLBACK; END P3;

SET V_MAX_DATE = TO_DATE('9999-12-31','YYYY-MM-DD');

--1、建立临时表,当前数据临时表 CUR , 昨日数据临时表 PRE , 新增数据临时表 INS , 删除数据临时表 DEL P4: BEGIN DECLARE GLOBAL TEMPORARY TABLE SESSION.EMPLOYEE_CUR AS

第15页


DB2学习笔记chensy(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:表7-2 钢筋安装质量检验记录(梁、板)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: