DB2培训文档.pptx
DB2培训文档

© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
定位删除:
语法:delete from [table name|view name] where current of <cursor-name>
create procedure cleanup_act ( in p_date date , out p_deleted int ) language sql specific cleanup_act -- applies to luw and iseries ca: begin declare v_date date; declare sqlstate char(5); declare c_emp cursor for -- (1) select emendate from emp_act for update; open c_emp; fetch from c_emp into v_date; set p_deleted = 0; while ( sqlstate = '00000' ) do if ( v_date < p_date ) then delete from emp_act where current of c_emp; -- (2) set p_deleted = p_deleted + 1; end if; fetch from c_emp into v_date; end while; close c_emp; end ca
db2基础培训[1]
![db2基础培训[1]](https://img.taocdn.com/s3/m/56ff12e6f01dc281e53af0db.png)
分区数据库home目录
•一个实例映射到一个操作系统用户,拥有自己的主目录。 •每台分区的机器上单独创建的所有实例都必须使用相同的名称 和口令 •所有实例的主目录必须是相同的目录,这个目录必须在一个共享磁盘(NFS 共享)上创建 •DB2实例属主机器
db2基础培训[1]
数据库分区
存放在文件 default.env 中,该文件位于 /var 下的一个子目录中。对于每台机器,都存在该文件的一
个不同的本地副本。
/var/db2/v81/default.env
db2set –all :
[g]
•实例级概要注册表-分区共享
db2set –all :
[I]
db2set –lr
db2set DB2COMM=tcpip
对象管理 空间分配 管理方便 程度 使用限制
容器类型
性能
SMS
.操作系统 .需要时动态增长 .很少需要人工管理 .容器大小随文件系统增加 .数据和索引必须在同一表空间 .容器不能增加 .只有一种容器:目录
.动态扩展,略差于DMS
DMS
.数据库
.预分配
.需要人工指定一些参数,例如定义容器大小等 .可通过增加容器建立大容量的表空间
db2基础培训[1]
ACTIVE - Contains information for non-committed or non-externalized transactions
14
15
16
数据迁移工具
• EXPORT-将表中数据导出成文件 • IMPORT-将文件中数据导入表 • LOAD-将文件中数据导入表 • DB2MOVE-数据库迁移 • DB2LOOK-导出数据库对象
db2培训资料

第一章DB2 UDB 概况1.1、DB2 UDB 的产品家族UDB(Universal Database )的前身为 DB2 ,是 IBM 公司开发的关系型数据库管理系统。
从其诞生之日开始,DB2 就定位于要为各种规模的企业提供稳定、高效的数据管理支持。
可以说,DB2 是当前适用范围最广泛的数据库产品。
我们对 DB2 产品的划分通常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。
DB2 产品几乎覆盖了当前所有流行的硬件和操作系统平台。
在大型机操作系统上,有 DB2 for OS/390 、 DB2 for MVS/ESA 、DB2 for VSE 和 DB2 for VM 等多种产品;在由 IBM 公司设计的小型机 AS/400 上, DB2 已经嵌入在操作系统 OS/400 之中,成为其不可分割的一部分。
DB2 对 UNIX 操作系统的支持同样十分广泛,可以在 AIX 、 HP-UX 、 Solaris、 SCO-UNIX 、SINIX 等多种系统上找到其相应的版本。
另外,在 PC 操作系统上,DB2可以对 Window 9x、Windows NT以及OS/2等多种操作系统提供支持。
UDB 6.1 还增加了对 Linux 操作系统的支持。
以上我们所提到的只是 DB2 服务器所能运行的平台,DB2 的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2 的客户端还能运行在 Dos、 Windows 3.x、 Mac OS 以及 SGI 公司的 IRIS 系统之上。
UDB 产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB 提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供支持。
以下是对 UDB 6.1 版本不同级别产品的特点介绍:UDB 卫星版:是专门为移动用户设计的小型数据库产品。
DB2数据迁移培训教材PPT(31张)

数据导出导入
(2)数据Import导入: Replace_Create 执行: db2 import from c:\test1.ixf of ixf replace_create into test2
• 执行结果: 表Test2原有数 据被删除,插入表 Test1数据。
数据导出导入
数据导出导入 表不存在,执行Create。
db2move 工具
• Export,Import和 Load每次都只对一个表 进行操作。但是您若使用它们来写一段脚 本,就可对一个数据库中的所有的表进行 操作。 db2move可以更方便地完成同样的 工作。
• db2move工具只兼容IXF格式的文件。 • db2move不可以通过控制中心来调用。
导入(LOAD)工具
• Load不能创建表及索引,故不能使用Create方式 。
• 主要方式:
导入(LOAD)工具
例: C:\>db2 connect to sample C:\>db2 Load from test.del of del REPLACE into test1
例: C:\>db2 Create table test2 like act C:\>db2 Load from C:\test.del of del INSERT into test2
(3)数据Import导入: Replace_Create 执行 db2 import from c:\test1.ixf of ixf replace_create into test3
Import工具建立了表Test3,并插入导入 数据。
Replace_Create: 表存在,执行Replace;
DB2存储结构编目与数据库创建精品PPT课件

个已知数据库的地方,节点目录包含信息 之处如何以及在哪里能够找到远程系统或 实例
数据库编目
▪ 客户机上对数据库进行编目 使用发现的自动配置 使用访问配置文件的自动配置 手工配置
创建和操作数据库
▪ 手动设置存储配置
创建和操作数据库
▪ 设置用户表,系统编目表,系统临时表空间 容器
创建和操作数据库
▪ 文件:日志文件,配置信息,历史文件 默认表空间:
▪ 系统编目表:索引,表,视图,包的元数 据
▪ 系统临时表:用于记录排序,重组表,创 建索引等事务的中间结果
▪ 用户表空间:用户对象
为更好满足学习和使用需求,课件在下载后 可以自由编辑,请根据实际情况进行调整
In order to better meet the needs of learning and using, the courseware is freely edited after downloading
DB2 control center
DB2 Control Center
▪ 菜单栏:用来访问 Control Center 功能和在线帮助。 ▪ 工具栏:用来访问其他管理工具。 ▪ Objects 面板:显示在 Control Center 窗口的左边。它包
含可以从 Control Center 进行管理的所有对象以及它们 之间的关系。 ▪ Contents 面板:这显示在 Control Center 窗口的右边, 其中包含属于或对应于 Objects 面板中选择的对象的对 象。 ▪ Contents 面板工具栏:这些图标用来调整 Contents 面 板中对象和信息的视图。还可以在 View 菜单中选择这些 功能。 ▪ Details 面板:Details 面板显示关于选择的对象的详细信 息。
DB2-培训内容

2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22
新员工培训--DB2数据库基础

面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—delete delete
删除表中符合条件的记录
语法:DELETE FROM 表名称 where …;
面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—select select
查询表中符合条件的记录
语法:SELECT 字段1,… FROM 表名称 where …;
连表查询
內连接 join,inner join select a.*,b.* from a join b on a.字段1=b.字段1 where … 结果:a表、b表中都存在的记录。 外连接 左外连 left join ,left outer join select a.*,b.* from a left outer join b on a.字段=b.字段 结果:a表记录都保留 右外联 right join ,right outer join select a.*,b.* from a right outer join b on a.字段=b.字段 结果:b表记录都保留 面向成功 开放交流 协作创新 价值提升
随需应变
快速构建
卓越品质
成就你我
2013中创软件新员工培训
DB2数据库基础
中创软件
2013年7月
培训提纲
一、DB2 数据库的构成
二、SQL介绍 三、DB2的安装 四、操作练习
面向成功
开放交流
协作创新
价值提升
DB2构成—什么是数据库系统 数据库系统是由数据库及其管理软件组成的系统。
数据库
存储在计算机内的、有组织、可共享的数据集合。
DB2开发培训

整理ppt
8
➢ 流程控制介绍
CASE statement IF statement LOOP statement WHILE statement GOTO statement ITERATE statement FOR statement
(详见备注)
二、数据库开发
整理ppt
9
二、数据库开发
➢ 游标介绍
2)用户自定义的存储过程通过CREATE PROCEDURE语句被注册到DB2数据 库的SYSCAT.ROUTINES表
整理ppt
6
二、数据库开发
➢ 存储过程实例
CREATE PROCEDURE ODS.PROC1 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT)
P1: BEGIN SET v_p2 = v_p2 + v_p1; SET v_p3 = v_p1;
END P1 输入输出参数说明:
in:输入参数 out:表示输出参数,即显示结果 in out:就是输入输出参数,运行前输入,运行后输出
整理ppt
7
二、数据库开发
➢ 存储过程变量
DECLARE var_name <data type> [ DEFAULT value]; SET <var_name> = <new_value>;
定义方式二: DECLARE GLOBAL TEMPORARY TABLE session.emp AS
( SELECT * FROM staff WHERE <condition> ) DEFINITION ONLY WITH REPLACE;
整理ppt
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
调用者过程find_emp通过 get diagnostics取得被调用 者的返回值,get diagnostics 必须是紧跟在call语句之后
TIP:通过返回值判断 执行状态回结果集
存储过程中的结果集可以返回给别的存储过程,也可以返回 到客户端的应用程序。
定义游标的语法如下: declare <cursor-name> cursor [with hold] with return to caller [client] for <select statement> [stmt name]
IF ( v_total >= v_min ) THEN
SET p_bonus = 'Y'; ELSE
SET p_bonus = 'N'; END IF; END bn
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
✓传递参数
在存储过程嵌套调用过程中,参数依照出现的次序进行传递,如果数据类型不匹 配,请使用cast函数进行数据类型转换;
ELSEIF ( v_rc = 1000 ) THEN
SET p_output = 'The employee does not exist!';
ELSE
SET p_output = 'Something else went wrong.';
END IF;
END fe
--(1) --(2)
© 2006 IBM公司
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
CREATE PROCEDURE get_emp_name ( IN p_empno CHAR(6) , out p_fname VARCHAR(10) )
LANGUAGE SQL SPECIFIC get_emp_name gen: BEGIN -- Declare variables DECLARE v_return_code INT DEFAULT 99;
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
简单的存储过程嵌套的例子
被调用的过程:统计每个雇员所完成的项目 CREATE PROCEDURE count_projects ( IN p_empno CHAR(6)
, out p_total INT ) LANGUAGE SQL SPECIFIC count_projects
IBM软件部
嵌套存储过程
陆川 luchuan@ 021-63262288-2720
© 2007 IBM 公司
IBM 软件部 | DB2 信息管理软件
你将了解下列内容:
✓什么是嵌套存储过程 ✓如何在嵌套存储过程间传递参数 ✓从嵌套存储过程中返回值 ✓从嵌套存储过程中返回和接收结果集 ✓如何递归调用存储过程 ✓过程调用的安全性考虑
-- Declare condition handlers DECLARE CONTINUE HANDLER FOR NOT FOUND
SET v_return_code = 1000;
-- Procedure logic SELECT firstnme INTO p_fname FROM employee WHERE empno = p_empno;
CREATE PROCEDURE find_emp ( IN p_empno CHAR(6)
, out p_output VARCHAR(50) )
LANGUAGE SQL
SPECIFIC find_emp
fe: BEGIN
-- Declare variables
DECLARE v_rc INT;
DECLARE v_fname VARCHAR(15);
•返回结果集到客户端 下面的过程将返回结果集到客户端,返回的结果集是特定部门下的雇员的 first name、last name和salary。
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
CREATE PROCEDURE to_client ( IN p_dept CHAR(3) ) LANGUAGE SQL SPECIFIC to_client DYNAMIC RESULT SETS 1
cp: BEGIN -- Procedure logic SELECT COUNT(*) INTO p_total FROM emp_act WHERE empno = p_empno;
END cp
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
调用者:根据每个雇员完成的项目的情况,决定是否给发奖金 CREATE PROCEDURE bonus ( IN p_empno CHAR(6)
✓从嵌套的过程中取得返回值
除了通过输出参数获得返回值以外,存储过程可以通过return语句返回一个值,下 面的例子演示如何通过get diagnostics语句获得被调用过程的返回值。 下面的过程get_emp_name将基于雇员编号返回雇员的first name,当找到该雇员时返回 99,否则返回1000。
-- Procedure logic
CALL get_emp_name( p_empno, v_fname );
GET DIAGNOSTICS v_rc = RETURN_STATUS;
IF ( v_rc = 99 )
THEN
SET p_output = 'The employee is: ' || v_fname || '.';
, out p_bonus CHAR(1) ) LANGUAGE SQL SPECIFIC bonus bn: BEGIN -- Declare variables DECLARE v_min INT DEFAULT 5; DECLARE v_total INT DEFAULT 0;
-- Procedure logic CALL count_projects(p_empno, v_total);