Download presentation
Presentation is loading. Please wait.
Published by영하 목 Modified 8년 전
1
IBM Software Group © 2004 IBM Corporation DB2 Post Support Team DB2 UDB Guide for Experienced Oracle User
2
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 2 C O N T E N T S 용어 비교 명령 처리기 기본 아키텍처 프로세스 모델 메모리 모델 관련 파일 관련 디렉토리 메타 데이터 병렬 아키텍처 데이터 유형 비교 함수 비교 시스템 레지스터리 저장 프로시저 사용자 정의 함수 트리거 변수 선언 및 할당 Flow Control 문 Dynamic SQL 컨디션 핸들링 사용자 정의 오류 메시지 처리 디버깅용 파일 출력 커서 처리 커서 특성 확인하기 Collection Bulk Collect SP 에서 Result Set 반환하기 다른 SP 로 Result Set 반환하기 Local Function 계층적 쿼리 데이터 유형 자동 변환 Outer Join DECODE 문 반환되는 행의 개수 제한 값을 반환하는 INSERT, UPDATE, DELETE 문 Dummy Table Date, Time 연산 집합 연산자 OCI 와 CLI 비교
3
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 3 용어 비교 Data dictionary, Datafiles, Data Blocks 등의 용어가 사용됩니다. System Catalog, Containers, Pages 등의 용어가 사용됩니다. ORACLE DB2 UDB
4
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 4 명령 처리기 DB2 CLP 를 이용하여, command 와 SQL, 오류 message 등을 확인할 수 있 습니다. ORACLE DB2 UDB sqlplus 를 이용합니다.
5
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 5 기본 아키텍처 ORACLE DB2 UDB
6
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 6 프로세스 모델 ORACLE DB2 UDB
7
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 7 메모리 모델 ORACLE DB2 UDB
8
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 8 관련 파일 ORACLE DB2 UDB
9
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 9 관련 디렉토리 ORACLE DB2 UDB
10
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 10 메타 데이터 CHAR, VARCHAR, SMALLINT, INT, BIGINT, DEC, FLOAT, DATE, TIME, TIMESTAMP, LOB 등이 있습니다. ORACLE DB2 UDB CHAR, VARCHAR2, LONG, NUMBER, DATE, LOB 등이 있습니다. SYSCAT SYSSTAT SYSIBM
11
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 11 병렬 아키텍처 Shared Nothing 구조를 사용하므로 확장성이 좋습니다. ORACLE DB2 UDB Shred Disk 구조를 사용합니다. DPFRAC
12
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 12 데이터 유형 비교 CHAR, VARCHAR, SMALLINT, INT, BIGINT, DEC, FLOAT, DATE, TIME, TIMESTAMP, LOB 등이 있습니다. ORACLE DB2 UDB CHAR, VARCHAR2, LONG, NUMBER, DATE, LOB 등이 있습니다.
13
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 13 함수 비교 DB2 가 지원하는 함수는 다음과 같습니다. ORACLE DB2 UDB ABS ACOS ASCII ASIN ATAN ATAN2 ATANH AVG BIGINT BLOB CEIL CHAR CHR CLOB CONCAT CORR COS COSH COT COUNT COUNT_BIG COVAR DATE DAY DAYNAME DAYOFWEEK DAYOFWEEK_ISO DAYOFYEAR DAYS DB_PARTITIONS DBCLOB DBPARTITIONNUM DEC HEALTH_CONT_HI_HIS HEALTH_CONT_INFO HEALTH_DB_HI HEALTH_DB_HI_HIS HEALTH_DB_INFO HEALTH_DBM_HI HEALTH_DBM_HI_HIS HEALTH_DBM_INFO HEALTH_TBS_HI HEALTH_TBS_HI_HIS HEALTH_TBS_INFO HEX HOUR IDENTITY_VAL_LOCAL INSERT INT JULIAN_DAY LCASE LOWER LEFT LENGTH LN LOCATE LOG LOG10 LONG_VARCHAR LONG_VARGRAPHIC LTRIM MAX MICROSECOND MIDNIGHT_SECONDS MIN MINUTE DECRYPT_BIN DECRYPT_CHAR DEGREES DEREF DIFFERENCE DIGITS DLCOMMENT DLLINKTYPE DLNEWCOPY DLPREVIOUSCOPY DLREPLACECONTENT DLURLCOMPLETE DLURLCOMPLETEONLY DLURLCOMPLETEWRITE DLURLPATH DLURLPATHONLY DLURLPATHWRITE DLURLSCHEME DLURLSERVER DLVALUE DOUBLE ENCRYPT EVENT_MON_STATE EXP FLOAT FLOOR GENERATE_UNIQUE GET_ROUTINE_SAR GETHINT GRAPHIC GROUPING HASHEDVALUE HEALTH_CONT_HI MOD MONTH MONTHNAME MQPUBLISH MQREAD MQREADALL MQREADALLCLOB MQREADCLOB MQRECEIVE MQRECEIVEALL MQRECEIVEALLCLOB MQRECEIVECLOB MQSEND MQSUBSCRIBE MQUNSUBSCRIBE MULTIPLY_ALT NULLIF POSSTR POWER PUT_ROUTINE_SAR QUARTER RADIANS RAISE_ERROR RAND REAL REC2XML REGR_AVGX REGR_AVGY REGR_COUNT REGR_ICPT REGR_R2 REGR_SLOPE REBIND_ROUTINE_PACKAGE REGR_SXX REGR_SXY REGR_SYY REPEAT REPLACE RIGHT ROUND RTRIM SECOND SIGN SIN SINH SMALLINT SNAPSHOT_AGENT SNAPSHOT_APPL SNAPSHOT_APPL_INFO SNAPSHOT_BP SNAPSHOT_CONTAINE R SNAPSHOT_DATABASE SNAPSHOT_DBM SNAPSHOT_DYN_SQL SNAPSHOT_FCM SNAPSHOT_FCMNODE SNAPSHOT_FILEW SNAPSHOT_LOCK SNAPSHOT_LOCKWAIT SNAPSHOT_QUIESCER S SNAPSHOT_RANGES SNAPSHOT_STATEMEN T SNAPSHOT_TBS_CFG SOUNDEX SPACE SQLCACHE_SNAPSHOT SQRT STDDEV SUBSTR SUM TABLE_NAME TABLE_SCHEMA TAN TANH TIME TIMESTAMP TIMESTAMP_FORMAT TIMESTAMP_ISO TIMESTAMPDIFF TO_CHAR TO_DATE TRANSLATE TRUNCATE 또는 TRUNC TYPE_ID TYPE_NAME TYPE_SCHEMA UCASE UCASE 또는 UPPER VALUE VARCHAR VARCHAR_FORMAT VARGRAPHIC VAR WEEK WEEK_ISO YEAR
14
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 14 시스템 레지스터리 Special Register Variables 를 이용하여 시스템에 관련된 여러가지 값을 확 인할 수 있습니다. ORACLE DB2 UDB
15
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 15 저장 프로시저 CREATE OR REPLACE PROCEDURE 문을 이용하여 생성합니다. CREATE PROCEDURE 문을 이용하여 저장 프로시저를 생성합니다. REPLACE 옵션은 지원하지 않습니다. ORACLE DB2 UDB
16
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 16 사용자 정의 함수 CREATE OR REPLACE FUNCTION 문을 이용하여 생성합니다. CREATE FUNCTION 문을 이용하여 사용자 정의 함수를 생성합니다. REPLACE 옵션은 지원하지 않습니다. ORACLE DB2 UDB
17
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 17 트리거 CREATE OR REPLACE TRIGGER 문을 이용합니다. CREATE TRIGGER 문을 이용하여 트리거를 생성합니다. INSERT, UPDATE, DELETE 트리거는 개별적으로 생성됩니다. ORACLE DB2 UDB
18
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 18 변수 선언 및 할당 변수 이름, 유형, 기본값을 지정합니다. DECLARE 문을 이용하여 변수, 유형, 기본값을 지정합니다. SET 문을 이용 하여 값을 할당합니다. ORACLE DB2 UDB
19
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 19 Flow Contol 문 IF, LOOP, WHILE, FOR 문 등을 이용합니다. IF, LOOP, WHILE, REPEAT, FOR 문 등을 이용합니다. ORACLE DB2 UDB
20
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 20 Dynamic SQL DBMS_SQL 팩키지 또는 NATIVE DYNAMIC SQL 를 이용합니다. NATIVE DYNAMIC SQL 을 이용합니다. ORACLE DB2 UDB
21
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 21 컨디션 핸들링 EXCEPTION ~ WHEN 문을 이용합니다. DECLARE ~ CONDITION 과 HANDLER 문을 이용합니다. ORACLE DB2 UDB
22
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 22 사용자 정의 오류 메시지 처리 RAISE_APPLICATION_ERROR 를 이용하여 사용자가 정의한 오류 메시 지를 처리합니다. RAISE_ERROR, SIGNAL, GET DIAGNOSTICS 문을 이용하여 처리합니다. ORACLE DB2 UDB
23
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 23 디버깅용 파일 출력 dbms_out.put.put_line 함수를 이용합니다. PUT_LINE 사용자 정의 함수를 이용합니다. ORACLE DB2 UDB CREATE PROCEDURE TESTCASE() LANGUAGE SQL BEGIN NOT ATOMIC DECLARE V_DEPTNO SMALLINT; DECLARE V_DEPTNAME VARCHAR(20); DECLARE V_NUM SMALLINT DEFAULT 0; DECLARE V_MSG1 VARCHAR(4000); DECLARE V_MSG2 VARCHAR(1); SET V_NUM=2000; SET V_MSG1='debugging start'; VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2; VALUES(PUT_LINE(SMALLINT(2),'this is no2')) INTO V_MSG2; VALUES(PUT_LINE(3)) INTO V_MSG2; VALUES(PUT_LINE('##number4##')) INTO V_MSG2; SET V_NUM = 0; FOR V_C1_REC AS C1 CURSOR FOR SELECT DEPTNUMB, DEPTNAME FROM ORG; DO SET V_DEPTNO = v_C1_REC.DEPTNUMB; SET V_DEPTNAME = v_C1_REC.DEPTNAME; SET V_NUM = V_NUM + 1; SET V_MSG1 ='DEPTNO=' || CHAR(V_DEPTNO)||','||V_DEPTNAME; VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2; END FOR; VALUES(PUT_LINE(32000,'end of the program')) INTO V_MSG2; END @
24
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 24 커서 처리 CURSOR~IS 문을 이용하여 선언합니다. DECLARE ~ CURSOR 문을 이용하여 선언합니다. OPEN, FETCH, CLOSE, WHERE CURRENT OF 구문은 유사합니다. ORACLE DB2 UDB
25
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 25 커서 특성 확인하기 %ISOPEN, %NOTFOUND, %FOUND, %ROWCOUNT 등을 이용하여 커 서의 특성을 확인합니다. SQLCODE, SQLSTATE, GET DIAGNOSTICS 문을 이용합니다. ORACLE DB2 UDB
26
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 26 Collection nested table 과 varrays 를 이용합니다. global temporary table 을 이용합니다. 한 세션에서만 사용되며, 세션 종료시 자동적으로 소멸됩니다. ORACLE DB2 UDB
27
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 27 Bulk Collect BULK COLLECT 절을 이용하여 한 개 이상의 행을 FETCH 합니다. TEMPORARY TABLE 과 SELECT ~ INSERT 문을 이용합니다. ORACLE DB2 UDB
28
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 28 SP 에서 Result Set 반환하기 반환 유형이 REF 인 커서를 이용하여 result set 을 반환합니다. DYNAMIC RESULT SET 옵션을 이용하여 result set 을 반환합니다. ORACLE DB2 UDB
29
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 29 다른 SP 로 Result Set 반환하기 nested table 을 이용하여 result set 을 다른 SP 로 반환합니다. 반환된 result set 은 ASSOCIATE, ALLOCATE 문을 이용하여 처리합니다. ORACLE DB2 UDB
30
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 30 Local Function 특정 SP 내에서만 참조되는 함수를 local function 이라고 합니다. DB2 에서는 Local Function 이 없으므로 UDF 를 사용하기 전에 SP 외부에서 미리 생성해 두어야 합니다. ORACLE DB2 UDB
31
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 31 계층적 쿼리 CONNECT BY~START WITH 절을 이용합니다. SELECT 문에서 WITH 로 정의되는 COMMON TABLE 을 이용합니다. ORACLE DB2 UDB
32
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 32 데이터 유형 자동 변환 필요시 자동적으로 데이터 유형의 변환이 발생합니다. 명시적인 데이터 타입이 맞지 않을 경우에는 조작을 허용하지 않습니다. 필 요시, 명시적인 데이터 유형 변환 함수를 사용합니다. ORACLE DB2 UDB
33
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 33 Outer Join 플러스 (+) 기호를 이용하여 outer join 의 기준을 표시합니다. left, right, full outer join 구문을 이용합니다. ORACLE DB2 UDB
34
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 34 DECODE 문 여러가지 조건문을 판별할 때, DECODE 문을 사용합니다. CASE 문을 이용합니다. ORACLE DB2 UDB
35
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 35 반환되는 행의 개수 제한 ROWNUM 을 이용하여 반환되는 행의 개수를 제한합니다. FETCH FIRST n ROWS ONLY 구문이나 ROW_NUMBER 함수를 이용합니 다. ORACLE DB2 UDB
36
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 36 값을 반환하는 INSERT, UPDATE, DELETE 문 RETURNING INTO 구문을 이용합니다. SELECT INTO 과 FROM NEW TABLE 구문을 이용합니다. ORACLE DB2 UDB
37
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 37 Dummy Table DUAL 을 이용합니다. SYSIBM.SYSDUMMY1 을 이용합니다. ORACLE DB2 UDB
38
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 38 Date, Time 연산 DATE 유형을 이용하여, 날짜, 시간, 시간 소인을 처리합니다. DATE, TIME, TIMESTAMP 유형을 이용하여, 날짜, 시간, 시간 소인을 처리 합니다. ORACLE DB2 UDB
39
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 39 집합 연산자 UNION, UNION ALL, MINUS, INTERSECT 를 지원합니다. UNION, UNION ALL, EXCEPT, EXCEPT ALL, INTERSECT, INTERSECT ALL 을 지원합니다. ORACLE DB2 UDB
40
DB2 Guide for Experienced Oracle Users © 2004 IBM Corporation DB2 UDB 40 OCI 와 CLI 비교 Oracle Call Interface 를 사용하여 C 에서 데이터베이스를 액세스합니다. Call Level Interface 를 이용합니다. ORACLE DB2 UDB
Similar presentations