1 / 40

C O N T E N T S

C O N T E N T S. 사용자 정의 오류 메시지 처리 디버깅용 파일 출력 커서 처리 커서 특성 확인하기 Collection Bulk Collect SP 에서 Result Set 반환하기 다른 SP 로 Result Set 반환하기 Local Function 계층적 쿼리 데이터 유형 자동 변환 Outer Join DECODE 문 반환되는 행의 개수 제한 값을 반환하는 INSERT, UPDATE, DELETE 문 Dummy Table Date, Time 연산 집합 연산자

Télécharger la présentation

C O N T E N T S

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C O N T E N T S • 사용자 정의 오류 메시지 처리 • 디버깅용 파일 출력 • 커서 처리 • 커서 특성 확인하기 • Collection • Bulk Collect • SP에서 Result Set 반환하기 • 다른 SP로 Result Set 반환하기 • Local Function • 계층적 쿼리 • 데이터 유형 자동 변환 • Outer Join • DECODE 문 • 반환되는 행의 개수 제한 • 값을 반환하는 INSERT, UPDATE, DELETE 문 • Dummy Table • Date, Time 연산 • 집합 연산자 • OCI와 CLI 비교 • 용어 비교 • 명령 처리기 • 기본 아키텍처 • 프로세스 모델 • 메모리 모델 • 관련 파일 • 관련 디렉토리 • 메타 데이터 • 병렬 아키텍처 • 데이터 유형 비교 • 함수 비교 • 시스템 레지스터리 • 저장 프로시저 • 사용자 정의 함수 • 트리거 • 변수 선언 및 할당 • Flow Control 문 • Dynamic SQL • 컨디션 핸들링

  2. ORACLE DB2 UDB 용어 비교 Data dictionary, Datafiles, Data Blocks 등의 용어가 사용됩니다. System Catalog, Containers, Pages 등의 용어가 사용됩니다.

  3. ORACLE DB2 UDB 명령 처리기 sqlplus 를 이용합니다. DB2 CLP 를 이용하여, command와 SQL, 오류 message 등을 확인할 수 있습니다.

  4. ORACLE DB2 UDB 기본 아키텍처

  5. ORACLE DB2 UDB 프로세스 모델

  6. ORACLE DB2 UDB 메모리 모델

  7. ORACLE DB2 UDB 관련 파일

  8. ORACLE DB2 UDB 관련 디렉토리

  9. ORACLE DB2 UDB SYSIBM SYSCAT SYSSTAT 메타 데이터 CHAR, VARCHAR2, LONG, NUMBER, DATE, LOB 등이 있습니다. CHAR, VARCHAR, SMALLINT, INT, BIGINT, DEC, FLOAT, DATE, TIME, TIMESTAMP, LOB 등이 있습니다.

  10. ORACLE DB2 UDB RAC DPF 병렬 아키텍처 Shred Disk 구조를 사용합니다. Shared Nothing 구조를 사용하므로 확장성이 좋습니다.

  11. ORACLE DB2 UDB 데이터 유형 비교 CHAR, VARCHAR2, LONG, NUMBER, DATE, LOB 등이 있습니다. CHAR, VARCHAR, SMALLINT, INT, BIGINT, DEC, FLOAT, DATE, TIME, TIMESTAMP, LOB 등이 있습니다.

  12. ORACLE DB2 UDB 함수 비교 DB2가 지원하는 함수는 다음과 같습니다. 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 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 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 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_CONTAINER SNAPSHOT_DATABASE SNAPSHOT_DBM SNAPSHOT_DYN_SQL SNAPSHOT_FCM SNAPSHOT_FCMNODE SNAPSHOT_FILEW SNAPSHOT_LOCK SNAPSHOT_LOCKWAIT SNAPSHOT_QUIESCERS SNAPSHOT_RANGES SNAPSHOT_STATEMENT 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

  13. ORACLE DB2 UDB 시스템 레지스터리 Special Register Variables 를 이용하여 시스템에 관련된 여러가지 값을 확인할 수 있습니다.

  14. ORACLE DB2 UDB 저장 프로시저 CREATE OR REPLACE PROCEDURE 문을 이용하여 생성합니다. CREATE PROCEDURE 문을 이용하여 저장 프로시저를 생성합니다. REPLACE 옵션은 지원하지 않습니다.

  15. ORACLE DB2 UDB 사용자 정의 함수 CREATE OR REPLACE FUNCTION 문을 이용하여 생성합니다. CREATE FUNCTION 문을 이용하여 사용자 정의 함수를 생성합니다. REPLACE 옵션은 지원하지 않습니다.

  16. ORACLE DB2 UDB 트리거 CREATE OR REPLACE TRIGGER 문을 이용합니다. CREATE TRIGGER 문을 이용하여 트리거를 생성합니다. INSERT, UPDATE, DELETE 트리거는 개별적으로 생성됩니다.

  17. ORACLE DB2 UDB 변수 선언 및 할당 변수 이름, 유형, 기본값을 지정합니다. DECLARE 문을 이용하여 변수, 유형, 기본값을 지정합니다. SET 문을 이용하여 값을 할당합니다.

  18. ORACLE DB2 UDB Flow Contol 문 IF, LOOP, WHILE, FOR 문 등을 이용합니다. IF, LOOP, WHILE, REPEAT, FOR 문 등을 이용합니다.

  19. ORACLE DB2 UDB Dynamic SQL DBMS_SQL 팩키지 또는 NATIVE DYNAMIC SQL를 이용합니다. NATIVE DYNAMIC SQL 을 이용합니다.

  20. ORACLE DB2 UDB 컨디션 핸들링 EXCEPTION ~ WHEN 문을 이용합니다. DECLARE ~ CONDITION과 HANDLER 문을 이용합니다.

  21. ORACLE DB2 UDB 사용자 정의 오류 메시지 처리 RAISE_APPLICATION_ERROR 를 이용하여 사용자가 정의한 오류 메시지를 처리합니다. RAISE_ERROR, SIGNAL, GET DIAGNOSTICS 문을 이용하여 처리합니다.

  22. ORACLE DB2 UDB 디버깅용 파일 출력 dbms_out.put.put_line 함수를 이용합니다. PUT_LINE 사용자 정의 함수를 이용합니다. 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 @

  23. ORACLE DB2 UDB 커서 처리 CURSOR~IS 문을 이용하여 선언합니다. DECLARE ~ CURSOR 문을 이용하여 선언합니다. OPEN, FETCH, CLOSE, WHERE CURRENT OF 구문은 유사합니다.

  24. ORACLE DB2 UDB 커서 특성 확인하기 %ISOPEN, %NOTFOUND, %FOUND, %ROWCOUNT 등을 이용하여 커서의 특성을 확인합니다. SQLCODE, SQLSTATE, GET DIAGNOSTICS 문을 이용합니다.

  25. ORACLE DB2 UDB Collection nested table과 varrays 를 이용합니다. global temporary table을 이용합니다. 한 세션에서만 사용되며, 세션 종료시 자동적으로 소멸됩니다.

  26. ORACLE DB2 UDB Bulk Collect BULK COLLECT 절을 이용하여 한 개 이상의 행을 FETCH합니다. TEMPORARY TABLE과 SELECT ~ INSERT 문을 이용합니다.

  27. ORACLE DB2 UDB SP에서 Result Set 반환하기 반환 유형이 REF 인 커서를 이용하여 result set을 반환합니다. DYNAMIC RESULT SET 옵션을 이용하여 result set 을 반환합니다.

  28. ORACLE DB2 UDB 다른 SP로 Result Set 반환하기 nested table을 이용하여 result set을 다른 SP로 반환합니다. 반환된 result set 은 ASSOCIATE, ALLOCATE 문을 이용하여 처리합니다.

  29. ORACLE DB2 UDB Local Function 특정 SP 내에서만 참조되는 함수를 local function 이라고 합니다. DB2 에서는 Local Function이 없으므로 UDF를 사용하기 전에 SP 외부에서 미리 생성해 두어야 합니다.

  30. ORACLE DB2 UDB 계층적 쿼리 CONNECT BY~START WITH 절을 이용합니다. SELECT 문에서 WITH로 정의되는 COMMON TABLE 을 이용합니다.

  31. ORACLE DB2 UDB 데이터 유형 자동 변환 필요시 자동적으로 데이터 유형의 변환이 발생합니다. 명시적인 데이터 타입이 맞지 않을 경우에는 조작을 허용하지 않습니다. 필요시, 명시적인 데이터 유형 변환 함수를 사용합니다.

  32. ORACLE DB2 UDB Outer Join 플러스 (+) 기호를 이용하여 outer join 의 기준을 표시합니다. left, right, full outer join 구문을 이용합니다.

  33. ORACLE DB2 UDB DECODE 문 여러가지 조건문을 판별할 때, DECODE 문을 사용합니다. CASE 문을 이용합니다.

  34. ORACLE DB2 UDB 반환되는 행의 개수 제한 ROWNUM을 이용하여 반환되는 행의 개수를 제한합니다. FETCH FIRST n ROWS ONLY 구문이나 ROW_NUMBER 함수를 이용합니다.

  35. ORACLE DB2 UDB 값을 반환하는 INSERT, UPDATE, DELETE문 RETURNING INTO 구문을 이용합니다. SELECT INTO과 FROM NEW TABLE 구문을 이용합니다.

  36. ORACLE DB2 UDB Dummy Table DUAL 을 이용합니다. SYSIBM.SYSDUMMY1 을 이용합니다.

  37. ORACLE DB2 UDB Date, Time 연산 DATE 유형을 이용하여, 날짜, 시간, 시간 소인을 처리합니다. DATE, TIME, TIMESTAMP 유형을 이용하여, 날짜, 시간, 시간 소인을 처리합니다.

  38. ORACLE DB2 UDB 집합 연산자 UNION, UNION ALL, MINUS, INTERSECT 를 지원합니다. UNION, UNION ALL, EXCEPT, EXCEPT ALL, INTERSECT, INTERSECT ALL 을 지원합니다.

  39. ORACLE DB2 UDB OCI 와 CLI 비교 Oracle Call Interface 를 사용하여 C에서 데이터베이스를 액세스합니다. Call Level Interface 를 이용합니다.

More Related