4、 并发控制比较
1) Oracle默认情况
语句级快照。

2) DB2 V9.7之前默认情况
游标稳定隔离级别。

3) DB2 V9.7目前默认情况
当前提交隔离级别。

5、 创建兼容Oracle的DB2数据库
Db2set DB2_COMPATIBILITY_VECTOR=ORA
Db2stop force
Db2start
Db2 “CREATE DATABASE dbName AUTOMATIC STORAGE YES
ON <storagePath1> PAGESIZE 32 K”
Recommended but not required
Db2 UPDATE DB CFG FOR dbName
USING AUTO_REVAL deferred_force
DECFLT_ROUNDING round_half_up
Db2stop force
Db2start
Db2 “CREATE DATABASE dbName AUTOMATIC STORAGE YES
ON <storagePath1> PAGESIZE 32 K”
Recommended but not required
Db2 UPDATE DB CFG FOR dbName
USING AUTO_REVAL deferred_force
DECFLT_ROUNDING round_half_up
6、 DB2中的PL/SQL代码
CREATE PACKAGE sample IS
TYPE emps_array IS VARRAY(30) OF VARCHAR2(6);
PROCEDURE get_dept_emp (
Dno IN emp.deptno%TYPE DEFAULT 1,
Emps_dno OUT emps_array );
END sample;
/
CREATE PACKAGE BODY sample IS
PROCEDURE get_dept_emp (
Dno IN emp.deptno%TYPE,
Emps_dno OUT emps_array) IS
BEGIN
IF dno IS NOT NULL THEN
SELECT empno BULK COLLECT INTO emps_dno FROM emp WHERE deptno=dno;
FOR x in emps_dno.FIRST .. emps_dno.LAST LOOP
DBMS_OUTPUT.PUT_LINE(emps_dno(x));
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘SQLCODE: ’ || SQLCODE);
END get_dept_empno;
END sample;
/
CREATE TYPE emp_dept
IS TABLE OF emp%ROWTYPE;
TYPE emps_array IS VARRAY(30) OF VARCHAR2(6);
PROCEDURE get_dept_emp (
Dno IN emp.deptno%TYPE DEFAULT 1,
Emps_dno OUT emps_array );
END sample;
/
CREATE PACKAGE BODY sample IS
PROCEDURE get_dept_emp (
Dno IN emp.deptno%TYPE,
Emps_dno OUT emps_array) IS
BEGIN
IF dno IS NOT NULL THEN
SELECT empno BULK COLLECT INTO emps_dno FROM emp WHERE deptno=dno;
FOR x in emps_dno.FIRST .. emps_dno.LAST LOOP
DBMS_OUTPUT.PUT_LINE(emps_dno(x));
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘SQLCODE: ’ || SQLCODE);
END get_dept_empno;
END sample;
/
CREATE TYPE emp_dept
IS TABLE OF emp%ROWTYPE;