ALTIBASE 사용자가이드 Templete

Size: px
Start display at page:

Download "ALTIBASE 사용자가이드 Templete"

Transcription

1 Real Alternative DBMS ALTIBASE, Since 1999 ORACLE to ALTIBASE 변환가이드 ALTIBASE 5.5 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved.

2 Document Control Change Record Date Author Change Reference snkim Created Lim272 Modified snkim Modified Reviews Date Name (Position) leekmo(sp), lim272(sp), okseop7(ts), wlgml337(tc) Distribution Name Location ORACLE to ALTIBASE 변환가이드 2 page of 37

3 목차 개요... 4 OBJECT 변환... 5 DATATYPE... 5 OBJECT 비교... 6 CREATE TABLESPACE... 7 CREATE TABLE... 9 CREATE INDEX CREATE VIEW CREATE TRIGGER CREATE SEQUENCE CREATE SYNONYM ALTER TABLE SQL 변환 OUTER JOIN RANK 관련함수 계층형질의 ROLLUP & CUBE GRANT 구문 STORED PROCEDURE/FUNCTION 변환 일반사항비교 파일및출력처리 TYPE 과 TYPESET REF CURSOR WHERE CURRENT OF 구문 EXCEPTION DATA MIGRATION DATA MIGRATION 방법 ORACLE to ALTIBASE 변환가이드 3 page of 37

4 개요 본문서는 ORACLE 에서 ALTIBASE 로변환할때고려할사항과변환방법에대해설명한다. ORACLE 10g 와 ALTIBASE 5.5 버전을대상으로한다. 아래문서를사전에참고할것을권장한다. ALTIBASE, ORACLE 비교자료 ORACLE to ALTIBASE 변환가이드 4 page of 37

5 OBJECT 변환 ORACLE 의 OBJECT 를 ALTIBASE 로변환할때고려할사항에대해기술한다. DATATYPE ORACLE 의 TABLE 을 ALTIBASE 로변환할때각각의 DATATYPE 을어떻게변환하는지에대해설명한다. 분류 ORACLE ALTIBASE 비고 CHAR CHAR 최대 32K VARCHAR2, VARCHAR VARCHAR2, VARCHAR 최대 32K. DESC 로조회시 VARCHAR 로조회 문자타입 NCHAR NCHAR 문자길이최대 16000B(UTF16), 문자길이최대 10666B(UTF8) NVARCHAR2 NVARCHAR 문자길이최대 16000B(UTF16), 문자길이최대 10666B(UTF8) LONG CLOB 최대 2G LOB 타입 숫자타입 BLOB BLOB 최대 2G CLOB CLOB 최대 2G NCLOB CLOB 최대 2G NUMERIC(p, s) NUMERIC(p, s) 데이터가 SMALLINT, NUMBER (p, s) NUMBER(p, s) DECIMAL(p, s) DECIMAL(p, s) FLOAT(p), BINARY_FLOAT FLOAT(p) INTEGER, BIGINT, REAL, DOUBLE 등 native type 으로지정가능하다면 native type 으로지정하는것이좋다. 데이터처리시변환비용에따른 overhead 를줄일수있고, 저장공간의효율성이좋아지기때문이다. SMALLINT SMALLINT 2 byte 정수형타입 INT INTEGER 4 byte 정수형타입 REAL REAL 4 byte 실수형타입 BINARY_DOUBLE DOUBLE 8 byte 실수형타입 날짜타입 DATE INTERVAL YEAR TO MONTH DATE ALTIBASE DATE 타입은 ORACLE DATE 타입의표현범위를포함 - 지원안됨 ORACLE to ALTIBASE 변환가이드 5 page of 37

6 분류 ORACLE ALTIBASE 비고 INTERVAL DAY TO SECOND TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE TIMESTAMP DATE ORACLE TIMESTAMP(fractional second precision) 타입의 fractional second precision 의값은 0~9 까지표현가능하지만, ALTIBASE DATE 타입은 microsecond 까지표현이가능하다. 즉, ALTIBASE 의 DATE 타입은 ORACLE 의 TIMESTAMP(6) 과같다. 이진타입 BFILE RAW (size) LONG RAW BLOB BLOB BLOB 최대 2G OBJECT 비교 ORACLE ALTIBASE CLUSTER CONSTRAINT DATABASE LINK 지원하지않음 CHECK 는지원하지않음. 그외모두지원 지원하지않음 DATABASE TRIGGER 지원. (BEFORE UPDATE 및 DDL TRIGGER 는지원하지않음 ) DIMENSION EXTERNAL PROCEDURE LIBRARY INDEX-ORGANIZED TABLE INDEX INDEXTYPE JAVA 관련객체 지원하지않음 지원하지않음 지원하지않음 BTREE, RTREE 만지원. BITMAP, CLUSTER, Function based, Global partitioned INDEX 는지원하지않음 지원하지않음 지원하지않음 ORACLE to ALTIBASE 변환가이드 6 page of 37

7 MATERIALIZED VIEW/ MATERIALIZED VIEW LOG OBJECT TABLE OBJECT TYPE OBJECT VIEW OPERATOR PACKAGE SEQUENCE STORED FUNCTION/PROCEDURE SYNONYM TABLE VIEW CONTEXT DIRECTORY PARAMETER FILE PROFILE ROLE TABLESPACE USER 지원하지않음 지원하지않음 지원하지않음 지원하지않음 지원하지않음 지원하지않음 지원 지원 지원 지원 지원. view 를통해 DML 불가 지원하지않음 지원 객체로서지원하지않음. altibase.properties 파일로지원 지원하지않음 지원하지않음 DATA TABLESPACE, TEMPORARY TABLESPACE 지원. UNDO TABLESPACE 는 ALTIBASE 에서자동으로 1 개만생성하며사용자가생성할수없다. 지원. USER 생성시 CREATE SESSION 권한과객체를생성할수있는권한이자동으로부여 CREATE TABLESPACE ORACLE 의 TABLESPACE 는모두 DISK TABLESPACE 이다. 따라서 ALTIBASE 로변환할때 CREATE DISK DATA TABLESPACE 구문을이용해야한다. 이때, DISK DATA 를생략해도 default 로 DISK TABLESPACE 가생성되므로 CREATE TABLESPACE 구문으로도변환이가능하다. 다음은 ORACLE 의 TABLESPACE 를 ALTIBASE 로변환할때 CREATE TABLESPACE 구문에서지정하는여러옵션들의변환가이드를설명한것이다. 1. DATA TABLESPACE ORACLE 의 DATA TABLESPACE 는모두 DISK TABLESPACE 이다. ALTIBASE 는 CREATE TABLESPACE 구문을이용하여 TABLESPACE 를생성하면 DISK TABLESPACE 로생성되므로 ORACLE 과동일한 CREATE TABLESPACE 구문으로 ORACLE to ALTIBASE 변환가이드 7 page of 37

8 변환이가능하다. 다음은 ORACLE 의 TABLESPACE 를 ALTIBASE 로변환할때 CREATE TABLESPACE 구문에서지정하는여러옵션들의변환가이드를설명한것이다. ORACLE ALTIBASE 비고 BIGFILE SMALLFILE - ALTIBASE는지원하지않으므로 변환시해당옵션삭제 DATAFILE file specification DATAFILE file specification MINIMUM EXTENT - BLOCKSIZE - LOGGING NOLOGGING - FORCE LOGGING - DEFAULT storage 구문 - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 ONLINE OFFLINE - EXTENT MANAGEMENT LOCAL DICTIONARY SEGMENT SPACE MANAGEMENT AUTO MANUAL SEGMENT MANAGEMENT AUTO MANUAL - FLASHBACK ON OFF - ALTIBASE는지원하지않으므로 변환시해당옵션삭제 1.1 DATA TABLESPACE 변환예제 ORACLE CREATE TABLESPACE TESTDATA DATAFILE 'testdata01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING ONLINE EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT MANUAL FLASHBACK ON; ALTIBASE CREATE TABLESPACE TESTDATA DATAFILE 'testdata01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED SEGMENT MANAGEMENT MANUAL; ORACLE to ALTIBASE 변환가이드 8 page of 37

9 1. SEGMENT MANAGEMENT MANUAL SEGMENT 절은 SEGMENT MANAGEMENT AUTO MANUAL 절로수정하고그외의모든절은지원하지않으므로삭제 2. TEMPORARY TABLESPACE ALTIBASE 는 ORACLE 과마찬가지로 CREATE TEMPORATY TABLESPACE ~ TEMPFILE 구문으로 TEMPORARY TABLESPACE 를생성한다. 다만생성시다음의옵션은지원하지않으므로삭제해야한다. ORACLE ALTIBASE 비고 TABLESPACE GROUP - EXTENT MANAGEMENT LOCAL DICTIONARY - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 2.1 TEMPORATY TABLESPACE 변환예제 ORACLE CREATE TEMPORARY TABLESPACE tbs_temp_02 TEMPFILE 'temp02.dbf' SIZE 5M AUTOEXTEND ON TABLESPACE GROUP tbs_grp_01; ALTIBASE CREATE TEMPORARY TABLESPACE tbs_temp_02 TEMPFILE 'temp02.dbf' SIZE 5M AUTOEXTEND ON; TABLESPACE GROUP 절은지원하지않으므로삭제 3. UNDO TABLESPACE ALTIBASE 는 UNDO TABLESPACE 를사용자가생성할수없다. ALTIBASE 가기본적으로제공하는 SYS_TBS_DISK_UNDO TABLESPACE 만사용할수있다. CREATE TABLE ORACLE의 TABLE을 ALTIBASE로변환할때 CREATE TABLE 시사용한여러옵션을알맞게변경해야한다. ALTIBASE는 TEMPORARY TABLE, OBJECT TABLE, XMLType TABLE을제공하지않는다. ALTIBASE 는메모리 TABLE 을제공한다. 따라서변환할 TABLE 의특성을잘파악하여메모리 TABLE 을생성한다면메모리 TABLESPACE 를지정하여생성해야한다. 만약메모리 TABLE 을생성한다면 ORACLE 에서사용했던 CREATE TABLE 구문에사용한옵션들을사용할수없다. 메모리 TABLE 생성구문은 ALTIBASE 의 SQL 관련매뉴얼을참조하면된다. ORACLE to ALTIBASE 변환가이드 9 page of 37

10 ORACLE 의 TABLE 을 DISK TABLE 로변환하고자한다면, CREATE TABLE 시설정할수있는여러옵션을다음과같이 ALTIBASE 에맞게변환해야한다. 또한, ALTIBASE TABLE 생성시 segment 관련내용을지정할경우에는 TABLESPACE 지정 -> PCTFREE/PCTUSED 지정 -> INITRANS/MAXTRANS 지정 -> Storage 절 -> logging 절순으로지정해줘야한다. 1. COLUMN DEFINITION 절 ORACLE ALTIBASE 비고 SORT - ALTIBASE는지원하지않으므로 변환시해당옵션삭제 DEFAULT DEFAULT ENCRYPT - ALTIBASE는지원하지않으므로 변환시해당옵션삭제 Constraint 구문 Constraint 구문 ALTIBASE는 CHECK를제외한 Constraint를제공. 따라서 CHECK는변환시삭제하고 application에서대체. ALTIBASE 는 Constraint 지정시 ENABLE/DISABLE 옵션, references 절의 ON DELETE SET NULL(ON DELETE CASCADE 는지원 ) 옵션을제공하지않으므로삭제. ALTIBASE 는 PRIMARY KEY, UNIQUE 지정시 using index 절에는 tablespace 절, parallel 절, logging 절, force 절만지정가능하다. 즉 index 이름및 create index 절은제공하지않는다. Ref Constraint 구문 - ALTIBASE는 REF컬럼을지원하지 않으므로변환시해당옵션삭제 ORGANIZATION - CLUSTER - COMPRESS NOCOMPRESS - ALTIBASE는지원하지않으므로변환시해당옵션삭제 Column 의크기지정시 BYTE 키워드명시가능 Column 의크기지정시 BYTE 키워드제공하지않음 ORACLE 은 column 의크기지정시 BAYE 키워드를명시할수있지만, ALTIBASE 는크기지정시 BYTE 를제공하지않음. ex) ORACLE : c1 VARCHAR2(10 BYTE) => ALTIBASE : c1 VARCHAR2(10) PRIMARY KEY, UNIQUE Constraint 을지정할때 USING INDEX 절을이용하여 INDEX 속성을지정할때 ALTIBASE 는 TABLESPACE 절, ORACLE to ALTIBASE 변환가이드 10 page of 37

11 PARALLEL/NOPARALLEL 절, LOGGING/NOLOGGING 절만지정이가능하다. 즉 storage 관련속성은지정할수없다. 2. SEGMENT ATTRIBUTES 절 ORACLE ALTIBASE 비고 TABLESPACE PCTFREE PCTUSED INITRANS TABLESPACE PCTFREE PCTUSED INITRANS MAXTRANS MAXTRANS 255 를 120 으로변경한다. ORACLE의 MAXTRANS는 deprecate 되었고, 항상그값은 255 이다. 반면에 ALTIBASE의 MAXTRANS 값을최대 120 까지지정할수있기때문에 120 으로변경한다. LOGGING NOLOGGING LOGGING NOLOGGING 3. STORAGE 절 ORACLE ALTIBASE 비고 INITIAL INITEXTENTS bytes -> extent 개수로변경 NEXT NEXTEXTENTS bytes -> extent 개수로변경 MINEXTENTS MAXEXTENTS MINEXTENTS MAXEXTENTS PCTINCREASE - FREELISTS - FREELIST - OPTIMAL - ALTIBASE는지원하지않으므로변환시해당옵션삭제 BUFFER POOL - 4. LOB STORAGE 절 ORACLE ALTIBASE 비고 TABLESPACE TABLESPACE ALTIBASE의 LOB STORAGE절은 TABLESPACE만지정가능 STORAGE - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 CHUNK - ORACLE to ALTIBASE 변환가이드 11 page of 37

12 PCTVERSION - RETENTION - FREEPOOLS - CACHE - STORAGE IN ROW - LOGGING NOLOGGING LOGGING NOLOGGING 5. TABLE PARTITIONING 절 ORACLE ALTIBASE 비고 PARTITION BY RANGE PARTITION BY HASH PARTITION BY LIST Composite partitioning 구문 PARTITION BY RANGE PARTITION BY HASH PARTITION BY LIST - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 6. TABLE PROPERTIES 절 ORACLE ALTIBASE 비고 ENABLE DISABLE ROW MOVEMENT NOPARALLEL PARALLEL ENABLE DISABLE ROW MOVEMENT NOPARALLEL PARALLEL Partitioned TABLE 에만지원 ENABLE DISABLE VALIDATE NOVALIDATE - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 7. TABLE 변환예제 7.1 ORACLE 다음은 ORACLE에서 EMP 테이블을생성하는스크립트이다. CREATE TABLE "SCOTT"."EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10 BYTE), "JOB" VARCHAR2(9 BYTE), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), ORACLE to ALTIBASE 변환가이드 12 page of 37

13 "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL NEXT MINEXTENTS 1 MAXEXTENTS PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE, CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL NEXT MINEXTENTS 1 MAXEXTENTS PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; 7.2 ALTIBASE 위의 ORACLE 의 EMP 테이블을 ALTIBASE 에서생성하기위해서는다음과같이생성스크립트를변환해야한다. CREATE TABLE "SCOTT"."EMP" ( "EMPNO" NUMBER(4,0), ) "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") USING INDEX TABLESPACE "USERS", CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "SCOTT"."DEPT" ("DEPTNO") TABLESPACE "USERS" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 120 STORAGE (INITEXTENTS 1 NEXTEXTENTS 1 MINEXTENTS 1 MAXEXTENTS ) LOGGING ; 1. "ENAME" VARCHAR2(10 BYTE) BYTE 는삭제 ORACLE to ALTIBASE 변환가이드 13 page of 37

14 2. USING INDEX TABLESPACE "USERS" PK 지정시 USING INDEX 절에는 TABLESPACE 절, PARALLEL/NOPARALLEL 절, LOGGING/NOLOGGING 절만지정가능하므로 TABLESPACE 절이외의다른옵션은삭제 3. REFERENCES "SCOTT"."DEPT" ("DEPTNO") FK 지정시 ENABLE 옵션은지원하지않으므로삭제 4. PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 120 MAXTRANS 의최대값은 120 이므로 120 으로수정 5. STORAGE (INITEXTENTS 1 NEXTEXTENTS 1 MINEXTENTS 1 MAXEXTENTS ) INITIAL 과 NEXT 는각각 INITEXTENTS, NEXTEXTENTS 로변경해야하며그값도 extent 의개수로수정 6. TABLESPACE "USERS" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 120 STORAGE... LOGGING segment 관련내용을지정할경우에는 TABLESPACE 지정 -> PCTFREE/PCTUSED 지정 -> INITRANS/MAXTRANS 지정 -> Storage 절 -> logging 절순으로지정 CREATE INDEX ALTIBASE 는 BTREE 와 RTREE INDEX 만제공하고 BITMAP, CLUSTER, Function based, REVERSE, Global partitioned INDEX 를제공하지않는다. 또한, ALTIBASE INDEX 생성시 segment 관련내용지정할경우에는 TABLESPACE 지정 -> PARALLEL/NOPARALLEL 지정 -> LOGGING/NOLOGGING 지정 -> storage 절순으로지정해야한다. 다음은 ALTIBASE 로변환할때 CREATE INDEX 구문에사용하는옵션들에대한변환방법이다. ORACLE ALTIBASE 비고 TABLESPACE LOGGING NOLOGGING NOPARALLEL PARALLEL TABLESPACE LOGGING NOLOGGING NOPARALLEL PARALLEL COMPUTE STATISTICS - REVERSE - SORT NOSORT - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 ORACLE to ALTIBASE 변환가이드 14 page of 37

15 ONLINE - COMPRESS NOCOMPRESS - PCTFREE, PCTUSED, - INITRANS MAXTRANS Storage 구문 INITRANS MAXTRANS TABLE 의 Storage 구문과동일 ALTIBASE 는최대 30 까지지원 1. INDEX 변환예제 1.1 ORACLE 다음은 ORACLE에서 INDEX를생성하는스크립트이다. CREATE INDEX "SCOTT"."EMP_IDX1" ON "SCOTT"."EMP" ("DEPTNO", "SAL") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL NEXT MINEXTENTS 1 MAXEXTENTS PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; 1.2 ALTIBASE CREATE INDEX "SCOTT"."EMP_IDX1" ON "SCOTT"."EMP" ("DEPTNO", "SAL") TABLESPACE "USERS" INITRANS 2 MAXTRANS 30 STORAGE(INITEXTENTS 1 NEXTEXTENTS 1 MINEXTENTS 1 MAXEXTENTS ) ; 1. INITRANS 2 MAXTRANS 30 MAXTRANS 는 30 까지지원하므로 30 으로변경 2. STORAGE(INITEXTENTS 1 NEXTEXTENTS 1 MINEXTENTS 1 MAXEXTENTS ) ; STORAGE 절에는 INITEXTENTS, NEXTEXTENTS, MINEXTENTS, MAXEXTENTS 만지정가능하고, INITIAL 과 NEXT 는각각 INITEXTENTS, NEXTEXTENTS 로변경해야하며그값도 extent 의개수로수정해야함 3. TABLESPACE "USERS" INITRANS 2 MAXTRANS 30 STORAGE... ; segment 관련내용지정할경우에는 TABLESPACE 지정 -> PARALLEL/NOPARALLEL 지정 -> LOGGING/NOLOGGING 지정 -> storage 절순으로지정 ORACLE to ALTIBASE 변환가이드 15 page of 37

16 CREATE VIEW ALTIBASE 는 Materialized-view 와 DML 이가능한 Updatable-view (INSERT, UPDATE, DELETE 를수행할수있는 view) 를제공하지않는다. ALTIBASE 의 VIEW 는 ORACLE 의 VIEW 생성구문과동일하게 CREATE OR REPLACE VIEW 구문으로생성한다. 따라서큰변환없이 VIEW 를생성할수있다. 하지만, 다음의옵션들은변환시참고해야한다. ORACLE ALTIBASE 비고 WITH READ ONLY WITH READ ONLY ALTIBASE는 WITH READ ONLY 옵션의 VIEW만제공하므로해당옵션이 default임 [NO] FORCE [NO] FORCE WITH CHECK OPTION - XMLType view 구문 - Object view 구문 - ALTIBASE 는지원하지않으므로변환시해당옵션삭제 CREATE TRIGGER ALTIBASE 의 TRIGGER 는 BEFORE UPDATE TRIGGER 및 DDL TRIGGER 를제공하지않는다. 또한 TRIGGER 의 DML 이벤트를 OR 연산을이용하여여러개를나열할수없다. 따라서각각의 DML 이벤트에대한 TRIGGER 를별도로생성해야한다. 그리고, ALTIBASE 는 TRIGGER 대상 TABLE 에 LOB 컬럼이있으면에러가발생하고 CREATE OR REPLACE TRIGGER 대신 CREATE TRIGGER 구문으로생성해야한다. 다음은 CREATE TRIGGER 시사용하는구문을 ALTIBASE 로변환할때고려해야할사항에대해설명한것이다. ORACLE ALTIBASE 비고 CREATE OR REPLACE TRIGGER BEFORE AFTER INSTEAD OF CREATE TRIGGER BEFORE AFTER OR REPLACE 구문을지원하지않음 ALTIBASE 는 BEFORE UPDATE 와 INSTEAD OF 는지원하지않음 DML 이벤트구문 DML 이벤트구문 ALTIBASE는 OR를이용해여러 DML 이벤트를지정할수없다. DML 이벤트 구문은 ORACLE과동일 DDL 이벤트구문 - ALTIBASE는 DDL TRIGGER를제공하지 않음 WHEN 조건 WHEN 조건 ORACLE to ALTIBASE 변환가이드 16 page of 37

17 FOR EACH ROW FOR EACH ROW REFERENCING REFERENCING DELETE 이벤트에서 NEW는 REFERENCING 할수없고, INSERT 이벤트에서는 OLD는 REFERENCING 할수없다. OLD/NEW에 alias를줄경우 OLD/NEW는키워드이므로 alias로사용할수없다. Trigger body 구문 Trigger body 구문 ALTIBASE Trigger body 구문은 AS BEGIN 구문으로시작해야한다. 또한 ORACLE의 Trigger body 구문은 DECLARE 절로시작할수있지만, ALTIBASE의 Trigger body는 AS 절에선언부분을지정해야하고, DECLARE 절을명시할수없다. OLD/NEW row 사용시 : 사용할수없다. Ex) :old (x) -> old(o) CREATE SEQUENCE ALTIBASE 의 CREATE SEQUENCE 구문은 ORACLE 과동일하다. 다만, ORACLE 에서제공하는 ORDER, NOORDER 옵션은지원하지않는다. 또한, ORACLE SEQUENCE 의 maxvalue 값은 28 자리정수까지지정할수있지만, ALTIBASE SEQUENCE 의 maxvalue 는 ( ) 부터 까지의범위내에서지정할수있다. CREATE SYNONYM ALTIBASE 의 CREATE SYNONYM 구문은 ORACLE 과동일하다. 다만, ORACLE 에서제공하는 OR REPLACE 구문은지원하지않는다. ALTER TABLE ALTIBASE 는 Constraint 추가시한번에 1 개의 Constraint 만추가가능하다. ORACLE 에서 ALTER TABLE ADD (CONSTRAINT constraint_name constraint_type, ); 문으로여러개의 Constraint 를추가하는문장은 Constraint 별로나눠서 ALTER TABLE ADD CONSTRAINT constraint_name constraint_type; 문으로 Constraint 별로나눠서실행해야한다. ORACLE 은 PRIMARY KEY 와 UNIQUE 를지정시 INDEX 를미리생성한후지정이가능하지만, ALTIBASE 는 Constraint 를지정하는시점에내부적으로 INDEX 를생성하기때문에동일컬럼에대해 PK Constraint, UNIQUE Constraint, INDEX 생성중하나만가능하다. 즉, INDEX 를생성한컬럼에 PK Constraint 를지정할수없다. ORACLE to ALTIBASE 변환가이드 17 page of 37

18 SQL 변환 ORACLE 에서 ALTIBASE 로 SQL 을변환하는방법과고려할사항에대해기술한다. OUTER JOIN ALTIBASE 는 ANSI 표준의 JOIN 연산만제공한다. 따라서 ORACLE 의 (+) 연산자를이용한 JOIN 구문은 ANSI 표준의 JOIN 구문으로변경해야한다. ORACLE 의 (+) 를이용한 JOIN 은 (+) 가없는쪽의 TABLE 이기준 TABLE 이되고 (+) 가있는 TABLE 이 OUTER JOIN 대상이된다. ANSI 표준의 OUTER JOIN 구문은기준 TABLE 이왼쪽에위치하는경우는 LEFT OUTER JOIN, 오른쪽에위치하는경우는 RIGHT OUTER JOIN 을사용한다. 1. 두 TABLE 이한개의컬럼에대해 OUTER JOIN 될경우 1.1 ORACLE 질의 SELECT t1.a, t1.b, t2.a, t2.c FROM test1 t1, test2 t2 WHERE t1.a = t2.a(+); 1.2 ALTIBASE 로변경된질의 SELECT t1.a, t1.b, t2.a, t2.c FROM test1 t1 LEFT OUTER JOIN test2 t2 ON t1.a = t2.a; 혹은, SELECT t1.a, t1.b, t2.a, t2.c FROM test2 t2 RIGHT OUTER JOIN test1 t1 ON t1.a = t2.a; (+) 가없는기준 TABLE(test) 을 LEFT OUTER JOIN 구문왼쪽에위치시키고, 대상 TABLE(test2) 를오른쪽에위치시킨후 JOIN 조건을 ON 절에명시한다. RIGHT OUTER JOIN 을사용할경우에는기준 TABLE(test1) 을 RIGHT OUTER JOIN 구문오른쪽에위치시킨후대상 TABLE(test2) 를왼쪽에위치시키면된다. 2. 기준 TABLE 한개에다수의 TABLE 이 OUTER JOIN 될경우 2.1 ORACLE 질의 SELECT t1.a, t1.b, t3.d, t4.e, t5.f FROM test1 t1, test3 t3, test4 t4, test5 t5 WHERE t1.a = t3.a(+) AND t1.a = t4.a(+) AND t1.a = t5.a(+) ORDER BY t1.a; 2.2 ALTIBASE 로변경된질의 ORACLE to ALTIBASE 변환가이드 18 page of 37

19 SELECT t1.a, t1.b, t3.d, t4.e, t5.f FROM test1 t1 LEFT OUTER JOIN test3 t3 ON t1.a = t3.a LEFT OUTER JOIN test4 t4 ON t1.a = t4.a LEFT OUTER JOIN test5 t5 ON t1.a = t5.a ORDER BY t1.a; 기준 TABLE(test1) 을 LEFT OUTER JOIN 구문왼쪽에위치시키고, 첫번째 OUTER JOIN 대상 TABLE(test3) 을오른쪽에위치시킨후 JOIN 조건을 ON 절에명시한다. 이후다른대상 TABLE 을차례로 LEFT OUTER JOIN 구문으로동일한형식으로나열한다. 3. 두개의 TABLE 에대해 JOIN 되는컬럼이다수인경우 3.1 ORACLE 질의 SELECT t1.*, t2.* FROM test1 t1, test2 t2 WHERE t1.a= t2.a(+) AND t1.b = t2.b(+) AND t1.c = t2.c(+) AND t1.a = 2 ORDER BY t1.a, t1.b; 3.2 ALTIBASE 로변경된질의 SELECT t1.*, t2.* FROM test1 t1 LEFT OUTER JOIN test2 t2 ON t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c WHERE t1.a=2 ORDER BY t1.a, t1.b; 기준 TABLE(test1) 을 LEFT OUTER JOIN 구문왼쪽에위치시키고, 여러개의 JOIN 조건을 ON 절에 AND 연산자를이용하여명시한다. 만약기타다른조건이있다면 WHERE 절에해당조건을추가해주면된다. 4. OUTER JOIN 과 INNER JOIN 이함께사용된경우 4.1 ORACLE 질의 SELECT t1.*, t2.*, t3.* FROM test1 t1, test2 t2, test3 t3 WHERE t1.a= t2.a AND t2.c= t3.c(+) AND t1.a = 2; 4.2 ALTIBASE 로변경된질의 SELECT t1.*, t2.*, t3.* FROM test1 t1 INNER JOIN test2 t2 ON t1.a = t2.a LEFT OUTER JOIN test3 t3 ON t2.c = t3.c ORACLE to ALTIBASE 변환가이드 19 page of 37

20 WHERE t1.a = 2; test1 테이블과 test2 테이블은 INNER JOIN 으로연결되고, 이결과에 test3 테이블이 OUTER JOIN 으로연결되기때문에 test1 과 test2 는 INNER JOIN 으로, 이두테이블의 JOIN 결과에 OUTER JOIN 대상이되는 test3 테이블은 LEFT OUTER JOIN 구문오른쪽에위치시킨다. RANK 관련함수 ORACLE 에서제공하는 ROW_NUMER(), RANK(), DENSE_RANK() 는데이터를그룹으로묶고그것에대한순위를정하는함수이다. 5 명의학생에대한성적정보가입력이되어있고 1 등이 2 명이라면위의함수는각각다음의결과를 return 한다. ROW_NUMBER() : 1, 2, 3, 4, 5 RANK() : 1, 1, 3, 4, 5 DENSE_RANK() : 1, 1, 2, 3, 4 ALTIBASE 에서는 RANK(), ROW_NUMBER(), DENSE_RANK() 함수를지원하지않는다. 따라서다음과같은형태로변환해서사용해야한다. 질의를수행하기위해다음의테스트데이터를이용한다. isql> SELECT * FROM emp; ENAME DEPTNO SAL SMITH ALLEN WARD JONES MARTIN BLAKE CLARK KING TURNER JAMES FORD MILLER SCOTT ADAMS rows selected. 1. ROW_NUMER() 1.1 ORACLE 질의 SELECT ename, sal, ROW_NUMBER() OVER (ORDER BY sal DESC) row_num FROM emp; 1.2 ALTIBASE 로변경된질의 SELECT ename, sal, rownum row_num FROM (SELECT ename, sal FROM emp ORDER BY sal DESC ) x -- sal ASC 였다면 ORDER BY sal ASC 로변경 ORACLE to ALTIBASE 변환가이드 20 page of 37

21 2. ROW_NUMBER() PARTITION BY 2.1 ORACLE 질의 SELECT ename, deptno, sal, ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY sal DESC) FROM EMP; 2.2 ALTIBASE 로변경된질의 SELECT ename, deptno, (rownum - count_row) dense_rank FROM (SELECT a.deptno, a.ename, a.sal, (SELECT COUNT(*) count_row FROM emp b WHERE b.deptno < a.deptno) count_row FROM emp a ORDER BY deptno, sal DESC) x -- sal ASC 였다면 ORDER BY deptno, sal 로변경 ORDER BY deptno, dense_rank; 성능을위해 deptno, sal 컬럼에인덱스를생성해야한다. 3. RANK() 3.1 ORACLE 질의 SELECT ename, sal, RANK() OVER (ORDER BY sal DESC) rank FROM emp; 3.2 ALTIBASE 로변경된질의 SELECT ename, sal, rank FROM (SELECT a.ename, a.sal, (SELECT 1+COUNT(*) FROM emp b WHERE b.sal > a.sal) rank -- sal ASC 였다면 WHERE b.sal < a.sal 로변경 FROM emp a) x ORDER BY x.rank; 성능을위해 sal 컬럼에인덱스를생성해야한다. 4. RANK() PARTITION BY 4.1 ORACLE 질의 SELECT ename, deptno, sal, RANK() OVER (PARTITION BY deptno ORDER BY sal DESC) rank FROM EMP; 4.2 ALTIBASE 로변경된질의 SELECT ename, deptno, sal, rank ORACLE to ALTIBASE 변환가이드 21 page of 37

22 FROM (SELECT a.ename, a.deptno, a.sal, (SELECT 1+COUNT(*) FROM emp b WHERE b.deptno = a.deptno AND b.sal > a.sal) rank -- sal ASC 였다면 WHERE b.sal < a.sal 로변경 FROM emp a) x ORDER BY x.deptno, x.rank; 성능을위해 deptno, sal 컬럼에인덱스를생성해야한다. 5. DENSE_RANK() 5.1 ORACLE 질의 SELECT ename, sal, DENSE_RANK() OVER (ORDER BY sal DESC) FROM emp; 5.2 ALTIBASE 로변경된질의 SELECT ename, sal, dense_rank FROM (SELECT ename, a.sal, (SELECT 1+COUNT(DISTINCT sal) FROM emp b WHERE b.sal > a.sal) dense_rank -- sal ASC 였다면 WHERE b.sal < a.sal 로변경 FROM emp a) x ORDER BY x.dense_rank; 성능을위해 sal 컬럼에인덱스를생성해야한다. 6. DENSE_RANK() PARTITION BY 6.1 ORACLE 질의 SELECT ename, deptno, sal, DENSE_RANK() OVER (PARTITION BY deptno ORDER BY sal DESC) FROM EMP; 6.2 ALTIBASE 로변경된질의 SELECT ename, deptno, sal, dense_rank FROM (SELECT a.ename, a.deptno, a.sal, (SELECT 1+COUNT(DISTINCT sal) FROM emp b WHERE b.deptno = a.deptno AND b.sal > a.sal) dense_rank -- sal ASC 였다면 WHERE b.sal < a.sal 로변경 FROM emp a) x ORDER BY x.deptno, x.dense_rank; 성능을위해 deptno, sal 컬럼에인덱스를생성해야한다. ORACLE to ALTIBASE 변환가이드 22 page of 37

23 계층형질의 하나의엔터티가다른엔터티가아닌자기자신과관계를맺는순환관계의모델을가질때, 계층적인순서로결과를조회하도록질의문을제공하는데이때사용하는질의가계층형질의이다. ORACLE에서사용하는 START WITH와 CONNECT BY 절은 ALTIBASE에서도동일하게지원하므로변환없이사용할수있다. 하지만다음의사항을주의해야한다. 1. base TABLE 에대한질의만가능하다. VIEW 와 Inline VIEW 에서는계층형질의를사용할수없다. 사용하게되면다음의에러가발생한다. isql>create VIEW v1 AS SELECT * FROM pc; isql>select LPAD(' ',2*(LEVEL-1)) item_name item_names FROM v1 START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; ERR-311A1 : A hierarchical query on neither a created view nor inline view is allowed 2. NOCYCLE 절은 IGNORE LOOP 절로변환한다. 2.1 ORACLE 질의 SELECT LPAD(' ',2*(LEVEL-1)) item_name AS item_names FROM pc START WITH parent_id IS NULL CONNECT BY NOCYCLE PRIOR item_id = parent_id; 2.2 ALTIBASE 로변경된질의 SELECT LPAD(' ',2*(LEVEL-1)) item_name AS item_names FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; IGNORE LOOP; 3. ORDER BY SIBILINGS BY 절을지원하지않는다. 4. CONNECT_BY_ROOT, CONNECT_BY_ISLEAF, SYS_CONNECT_BY_PATH, CONNECT_BY_ISCYCLE 는지원하지않는다. ORACLE 10g 에서지원하는 CONNECT_BY_ROOT, CONNECT_BY_ISLEAF, SYS_CONNECT_BY_PATH, CONNECT_BY_ISCYCLE 는 ALTIBASE 에서지원하지않으므로다음과같은형태로변환해서사용해야한다. 질의를수행하기위해다음의테스트데이터를이용한다. isql> SELECT * FROM pc; ITEM_ID PARENT_ID ITEM_NAME ITEM_QTY ORACLE to ALTIBASE 변환가이드 23 page of 37

24 Computer BODY monitor printer Mother board Lan card Power Supply RAM CPU Graphic device ETC device 1 11 rows selected. 4.1 CONNECT_BY_ROOT 자신의최상위 ROOT 노드즉, LEVEL 1 에해당하는값을나타내는의사컬럼이다 ORACLE 질의 SELECT LPAD(' ',2*(LEVEL-1)) item_name AS item_names, CONNECT_BY_ROOT item_id, CONNECT_BY_ROOT item_name FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; ALTIBASE 로변경된질의 SELECT a.item_names, b.connect_by_root_item_id, b.connect_by_root_item_name FROM (SELECT LPAD(' ',2*(LEVEL-1)) item_name item_names FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id) a, (SELECT item_id AS connect_by_root_item_id, item_name AS connect_by_root_item_name FROM pc WHERE LEVEL =1 START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id ) b; 최상위 ROOT 노드에해당하는값을 inline-view 로만들어 cartesian product 연산을수행한다. 4.2 CONNECT_BY_ISLEAF CONNECT_BY_ISLEAF 는자신의 LEAF 노드일경우 ( 자식을갖지않을경우 ) 에 1 을 return 하고그렇지않을경우에 0 을 return 하는의사컬럼이다 ORACLE 질의 SELECT LPAD(' ',2*(LEVEL-1)) item_name AS item_names, CONNECT_BY_ISLEAF FROM pc START WITH parent_id IS NULL ORACLE to ALTIBASE 변환가이드 24 page of 37

25 CONNECT BY PRIOR item_id = parent_id; ALTIBASE 로변경된질의 SELECT a.item_names, DECODE(b.parent_id,NULL,1,0) connect_by_isleaf FROM (SELECT LPAD(' ',2*(level-1)) item_name item_names, item_id FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id) a LEFT OUTER JOIN (SELECT DISTINCT parent_id FROM pc) b ON a.item_id = b.parent_id; parent_id 값들을 inline-view 로질의한후이 inline-view 와 outer join 을수행하여 item_id 값이 parent_id 에존재하지않는경우 ( 자식이존재하지않는경우 ) 는 LEAF 노드이므로 1 을리턴하고그렇지않은경우는 0 을리턴한다. 4.3 SYS_CONNECT_BY_PATH ROOT 노드부터해당레코드항목까지의경로 (PATH) 를반환한다 ORACLE 질의 SELECT LEVEL, SYS_CONNECT_BY_PATH(item_name,'/') FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; ALTIBASE 로변경된질의 SYS_CONNECT_BY_PATH 에대응하는사용자정의함수를생성한다. CREATE OR REPLACE FUNCTION sys_connect_by_path_pc ( pkey pc.parent_id%type, plevel INTEGER, delim VARCHAR(10) ) RETURN VARCHAR2(200) AS path VARCHAR(200); BEGIN DECLARE CURSOR c1 IS SELECT item_name FROM pc WHERE LEVEL <= plevel START WITH item_id = pkey CONNECT BY PRIOR parent_id=item_id ; BEGIN FOR crec IN c1 LOOP path := delim crec.item_name path; END LOOP; RETURN path; ORACLE to ALTIBASE 변환가이드 25 page of 37

26 END ; END; / sys_connect_by_path_pc 함수를호출한다. SELECT LEVEL, SYS_CONNECT_BY_PATH_PC ( item_id, LEVEL, '/' ) FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; 4.4 CONNECT_BY_ISCYCLE 해당레코드의항목이자식노드를갖는데동시에그자식노드가다시부모노드인지판별하는의사컬럼이다. ALTIBASE 는이러한경우무한루프에빠지기때문에다음의오류를 return 한다. [ERR-311A4 : A loop in hierarchical query detected.] 이러한오류가발생하지않게하기위해서는 IGNORE LOOP 절을명시해야한다. SELECT LPAD(' ',2*(LEVEL-1)) item_name AS item_names FROM pc START WITH parent_id IS NULL CONNECT BY PRIOR item_id = parent_id; IGNORE LOOP; ORACLE 의 CONNECT_BY_ISCYCLE 은 ALTIBASE 에서지원하지않는다. ROLLUP & CUBE ROLLUP 과 CUBE 는 GROUP BY 절에사용하여추가적인 grouping 정보를표현하는함수이다. ROLLUP : grouping 된결과에 group 별합계정보를추가한다. CUBE : grouping 된컬럼에대해가능한모든조합의합계정보를추가한다. ALTIBASE 는 ROLLUP 과 CUBE 를지원하지않기때문에다음과같이변환해야한다. 질의를수행하기위해다음의테스트데이터를이용한다. isql> SELECT * FROM tmp_sales; GROUP_ID SALES_EMP SALES_QTY A test1 5 A test2 10 A test3 1 B test4 10 B test5 5 C test6 50 A test1 5 ORACLE to ALTIBASE 변환가이드 26 page of 37

27 A test2 10 C test ROLLUP 1.1 ORACLE 질의 SELECT group_id, sales_emp, SUM(sales_qty) FROM tmp_sales GROUP BY ROLLUP(group_id,sales_emp); 1.2 ALTIBASE 로변경된질의 SELECT group_id, sales_emp, SUM(sales_qty) FROM ( SELECT DECODE(no, 1, group_id, 2, group_id) group_id, DECODE(no, 1, sales_emp) sales_emp, sales_qty FROM tmp_sales, (SELECT LEVEL no FROM dual CONNECT BY LEVEL <= 3) copy_t ) GROUP BY group_id, sales_emp ORDER BY 1, 2; 2. CUBE 2.1 ORACLE 질의 SELECT group_id, sales_emp, SUM(sales_qty) FROM tmp_sales GROUP BY CUBE(group_id, sales_emp); 2.2 ALTIBASE 로변경된질의 SELECT NVL(group_id,' '), NVL(sales_emp,' '), Sum(sales_qty) FROM ( SELECT DECODE(no, 1, group_id, 2, group_id) group_id, no, DECODE(no, 1, sales_emp, 4, sales_emp) sales_emp, sales_qty FROM tmp_sales, (SELECT LEVEL no FROM dual CONNECT BY LEVEL <= 4) copy_t ) GROUP BY group_id, sales_emp ORDER BY 1, 2; ORALCE 의 CUBE 실행시 grouping 하는컬럼의값이 null 로나타나지만, 위의변환질의는 null 대신공백 으로나타난다. ORACLE to ALTIBASE 변환가이드 27 page of 37

28 GRANT 구문 ORACLE 은특정 USER 의 OBJECT 권한을관리자가부여할수있지만, ALTIBASE 는 OBJECT 를소유한 USER 만이부여할수있다. 또한 ALTIBASE 는 ROLE 을제공하지않기때문에 GRANT 구문으로는권한들만부여할수있다. ORACLE to ALTIBASE 변환가이드 28 page of 37

29 Stored PROCEDURE/FUNCTION 변환 ORACLE 의 Stored PROCEDURE 와 FUNCTION 을 ALTIBASE 로변환할때고려할사항에대해기술한다. 일반사항비교 다음은 Stored PROCEDURE/FUCTION 을작성할때일반적으로고려해야할사항에대해설명한다. 1. ALTIBASE AUTOCOMMIT 모드에서 PROCEDURE 처리 ALTIBASE 가 AUTOCOMMIT 모드일경우 PROCEDURE/FUNCTION 전체가하나의트랜잭션으로처리되고 PROCEDURE 내에서의 COMMIT/ROLLBACK 은무시된다. 또 PROCEDURE/FUNCTION 을실행한후에자동으로 COMMIT 된다. 따라서 PROCEDURE/FUNCTION 에서 DML 문장을실행한후결과가 ALTIBASE 와 ORACLE 이다를수있다. 반대로 ALTIBASE 를 NON- AUTOCOMMIT 모드로적용했다면 ORACLE 의 NON-AUTOCOMMIT 모드와동일한결과가나타난다. 1.1 ORACLE CREATE OR REPLACE PROCEDURE t1_test ( in_t IN INTEGER, in_v IN VARCHAR ) IS BEGIN INSERT INTO t1 VALUES(in_t, in_v); ROLLBACK; END; / EXEC t1_test(4, '000004'); SQL> SELECT COUNT(*) FROM t1; COUNT(*) ALTIBASE CREATE OR REPLACE PROCEDURE t1_test( in_t IN INTEGER, in_v IN VARCHAR(20) ) IS BEGIN INSERT INTO t1 VALUES(in_t, in_v); ROLLBACK; END; / ORACLE to ALTIBASE 변환가이드 29 page of 37

30 EXEC t1_test(4, '000004'); isql> SELECT COUNT(*) FROM t1; COUNT CURSOR 를 OPEN 한상태에서 COMMIT/ROLLBACK, DDL 문을실행할수없다. 2.1 ORACLE CREATE OR REPLACE PROCEDURE cur_proc1 (in_val IN INTEGER, out_val OUT INTEGER) IS CURSOR cur1 IS SELECT c1 FROM t1 WHERE c1>in_val; col1 INTEGER; r1 INTEGER; BEGIN r1 := 0; OPEN cur1; LOOP FETCH cur1 into col1; EXIT WHEN cur1%notfound; INSERT INTO t2 VALUES(col1); COMMIT; -- 허용됨 r1 := r1+1; DBMS.PUT_LINE(col1); END LOOP; CLOSE cur1; DBMS.PUT_LINE('# of insert: ' r1); out_val := r1; END; / 2.1 ALTIBASE CREATE OR REPLACE PROCEDURE cur_proc1 (in_val IN INTEGER, out_val OUT INTEGER) IS CURSOR cur1 IS SELECT c1 FROM t1 WHERE c1>in_val; col1 INTEGER; r1 INTEGER; BEGIN r1 := 0; OPEN cur1; LOOP FETCH cur1 into col1; EXIT WHEN cur1%notfound; INSERT INTO t2 VALUES(col1); COMMIT; -- (X) r1 := r1+1; PRINTLN(col1); END LOOP; ORACLE to ALTIBASE 변환가이드 30 page of 37

31 CLOSE cur1; COMMIT; -- (O) PRINTLN('# of insert: ' r1); out_val := r1; END; / 3. PARAMETER 의 TYPE 과 RETURN TYPE 의 CHAR, VARCHAR 는크기도지정 ALTIBASE 에서 PROCEDURE 나 FUCTION 의 PARAMATER 혹은 RETURN TYPE 을 ORACLE 처럼 CHAR, VARCHAR 로선언하면 CHAR(1), VARCHAR(1) 과동일한의미이다. 따라서, 하나의문자가아니라문자열을사용하고자한다면, 반드시그크기를지정해줘야한다. 만약지정해주지않고문자열이 2 문자이상이면다음과같은에러가발생한다. ERR-2100D : Invalid length of the data type 파일및출력처리 ALTIBASE 의파일및출력에관련된 PROCEDURE 는 SYSTEM_ 유저에자동으로생성이되어있고, PUBLIC SYNONYM 으로정의되어있기때문에사용자는 PROCEDURE 이름만호출하여사용할수있다. 다음은 ORACLE 과 ALTIBASE 의파일처리방법을비교한표이다. 구분 ORACLE ALTIBASE 표준출력 파일처리 DBMS_OUTPUT.PUT DBMS_OUTPUT.PUT_LINE UTL_FILE.FOPEN UTL_FILE.FCLOSE UTL_FILE.FCLOSE_ALL UTL_FILE.FCOPY UTL_FILE.FFLUSH UTL_FILE.FREMOVE UTL_FILE.FRENAME UTL_FILE.GET_LINE UTL_FILE.IS_OPEN UTL_FILE.NEW_LINE PRINT PRINTLN FOPEN FCLOSE FCLOSE_ALL FCOPY FFLUSH FREMOVE FRENAME GET_LINE IS_OPEN NEW_LINE ORACLE to ALTIBASE 변환가이드 31 page of 37

32 TYPE 과 TYPESET ALTIBASE 는 PACKAGE 를지원하지않기때문에사용자정의 TYPE 들을 TYPESET 으로생성하여 PROCEDURE 간의전송수단으로사용할수있다. 따라서 ORALCE 의 CREATE TYPE 문으로생성한사용자정의 TYPE 들을묶어서 CREATE TYPESET 문으로 TYPESET 을생성하여사용할수있다. 다음은 ORACLE 의 TYPE 과 ALTIBASE 의 TYPESET 을생성하는구문이다. 1. ORACLE CREATE TYPE emp_ary AS VARRAY(50) OF VARCHAR2(4000); 2. ALTIBASE CREATE TYPESET typeset_1 AS TYPE emp_rec_type IS RECORD( name VARCHAR(20), job_id VARCHAR(10), salary NUMBER(8)); TYPE emp_arr_type IS TABLE OF emp_rec_type INDEX BY INTEGER; END; / REF CURSOR ORACLE 의 REF CURSOR 는보통 PACKAGE 에선언을하고, 이를 PROCEDURE 의 OUT PARAMATER 로선언하여사용한다. 하지만, ALTIBASE 는 PACKAGE 를제공하지않기때문에 TYPESET 으로생성하여사용해야한다. 다음은 ORACLE 과 ALTIBASE 에서 REF CURSOR 를사용하는예제이다. 1. ORACLE CREATE OR REPLACE PACKAGE ref_cursor_pkg AS TYPE ref_type IS REF CURSOR; PROCEDURE ref_cursor_pro(v_result OUT ref_type, v_sql IN VARCHAR2); END; / CREATE OR REPLACE PACKAGE BODY ref_cursor_pkg AS PROCEDURE ref_cursor_pro(v_result OUT ref_type, v_sql IN VARCHAR2) AS BEGIN OPEN v_result FOR v_sql [USING] [Bind Var]; END; / ORACLE to ALTIBASE 변환가이드 32 page of 37

33 2. ALTIBASE CREATE OR REPLACE TYPESET my_type AS TYPE my_cur IS REF CURSOR; END; / CREATE OR REPLACE PROCEDURE opencursor ( v_result OUT my_type.my_cur, v_sql IN VARCHAR(200) ) AS BEGIN OPEN y_result FOR v_sql [USING] [Bind Var]; END; / WHERE CURRENT OF 구문 ALTIBASE 는 CURSOR 를이용한 WHERE CURRENT OF 구문을지원하지않는다. 다만, 해당 TABLE 에 PRIMARY KEY 가있다면다음과같이변경이가능하다. 1. ORACLE CREATE OR REPLACE PROCEDURE proc1 IS CURSOR emp_list IS SELECT empno FROM employee WHERE empno = 1 FOR UPDATE; BEGIN FOR emplst IN emp_list LOOP UPDATE employee SET empjob = 'SALESMAN' WHERE CURRENT OF emp_list; END LOOP; END; / 2. ALTIBASE CREATE OR REPLACE PROCEDURE proc1 AS BEGIN DECLARE CURSOR cur1 IS SELECT empno FROM employee WHERE empno = 1; v_empjob VARCHAR(10); v_empno INTEGER; BEGIN ORACLE to ALTIBASE 변환가이드 33 page of 37

34 OPEN cur1; LOOP FETCH cur1 INTO v_empno, v_empjob; EXIT WHEN cur1%notfound; UPDATE employee SET empjob = 'SALESMAN' WHERE emp_no = v_empno; //emp_no 가 PK 이어야한다. END LOOP; CLOSE cur1; END; END; / EXCEPTION ORACLE 과 ALTIBASE 는 Stored PROCEDURE/FUNCTION 에서발생하는 EXCEPTION 들을미리시스템에서정의해놓았다. 다음은시스템정의 EXCEPTION 에대해비교한표이다. ORACLE ALTIBASE SQLERRM SQLCODE SQLERRM SQLCODE CURSOR_ALREADY_OPEN CURSOR_ALREADY_OPEN DUP_VAL_ON_INDEX -1 DUP_VAL_ON_INDEX INVALID_CURSOR INVALID_CURSOR INVALID_NUMBER INVALID_NUMBER NO_DATA_FOUND +100 NO_DATA_FOUND 100 PROGRAM_ERROR PROGRAM_ERROR STROAGE_ERROR STROAGE_ERROR TIMEOUT_ON_RESOURCE -51 TIMEOUT_ON_RESOURCE TOO_MANY_ROWS TOO_MANY_ROWS VALUE_ERROR VALUE_ERROR ZERO_DIVIDE ZERO_DIVIDE ACCESS_INTO_NULL CASE_NOT_FOUND COLLECTION_IS_NULL LOGIN_DENIED NOT_LOGGED_ON ROWTYPE_MISMATCH 지원하지않음 SELF_IS_NULL SUBSCRIPT_BEYOND_COUN T SUBSCRIPT_OUTSIDE_LIMIT ORACLE to ALTIBASE 변환가이드 34 page of 37

35 SYS_INVALID_ROWID ORACLE to ALTIBASE 변환가이드 35 page of 37

36 DATA MIGRATION ORACLE 데이터를 ALTIBASE 로이관하는방법에대해기술한다. DATA MIGRATION 방법 ORACLE DATA 를 ALTIBASE 로이관하기위해서는 ORACLE 관련유틸리티 (ex. SQLDeveloper) 를이용하여데이터를텍스트파일로 download 하고이텍스트파일을 ALTIBASE 의 iloader 유틸리티를이용하여 ALTIBASE 로 upload 한다. ALTIBASE 의 iloader 사용법은 iloader 매뉴얼을참고하면된다. ORACLE to ALTIBASE 변환가이드 36 page of 37

37 알티베이스 서울특별시구로구구로 3 동 대륭포스트 2 차 1008 호 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 기술지원본부서울특별시구로구구로 3 동 대륭포스트 2 차 908 호 솔루션센터 Copyright c 2000~2013 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. ORACLE to ALTIBASE 변환가이드 37 page of 37

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ORACLE to ALTIBASE 변환가이드 ALTIBASE 5.3.3 2010. 03 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

헤르메스 문서

헤르메스 문서 ALTIBASE 전환가이드 대상 DB : Oracle ( 주 ) 알티베이스 개정이력 버전변경일변경내용작성자 1.0 2014.09.01 오라클전환가이드 1.0 공공팀 2 / 36 2014-12-04 목차 개요... 5 1. 환경구성... 6 가. 지원버전... 6 나. 사전점검항목... 6 1) 환경분석... 6 2) Oracle DBMS 분석... 6 3)

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

Microsoft Word - 04_EXCEPTION.doc

Microsoft Word - 04_EXCEPTION.doc ORACLE EXCEPTION INTRODUCTION PLSQL 블록이 PARSE 되는동안에발생되는에러를컴파일에러 (Compilation Error) 라고부르며, PLSQL 블록이실행되는동안에발생되는에러를런타임에러 (Run-Time Error) 라고부르는데, 이런타임에러를오라클에서는예외 (Exception) 라고부른다. 오라클의예외 (Exception) 는크게두가지로구분된다.

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

Jerry Held

Jerry Held ,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

PowerPoint Presentation

PowerPoint Presentation Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

More information

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY; Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES

More information

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

FlashBackt.ppt

FlashBackt.ppt 1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

ePapyrus PDF Document

ePapyrus PDF Document Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft PowerPoint - Oracle Data Access Pattern.ppt Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

More information

歯PLSQL10.PDF

歯PLSQL10.PDF 10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -

More information

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63> Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다.

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

Simplify your Job Automatic Storage Management DB TSC

Simplify your Job Automatic Storage Management DB TSC Simplify your Job Automatic Storage Management DB TSC 1. DBA Challenges 2. ASM Disk group 3. Mirroring/Striping/Rebalancing 4. Traditional vs. ASM 5. ASM administration 6. ASM Summary Capacity in Terabytes

More information

最即時的Sybase ASE Server資料庫診斷工具

最即時的Sybase ASE Server資料庫診斷工具 TOAD 9.5 Toad Oracle 料 SQL 料 行 理 SQLprofile Quest Software 了 Oracle -Toad Tools of Oracle Application Developers Toad 了 DBA DBA 理 易 度 Toad 料 SQL PL/SQL Toad Oracle PL/SQL Toad Schema Browser Schema Browser

More information

세미나(장애와복구-수강생용).ppt

세미나(장애와복구-수강생용).ppt DB PLAN Consultant jina6678@yahoo.co.kr 011-864-1858 - - 1. 2. DB 3. - 4. - 5. 6. 1 INSTANCE MMAN RECO RFS MRP ORBn RBAL MMON Dnnn Snnn Data Buffer Cache SGA Stream Pool Shared pool Large Pool PGA Log

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

슬라이드 1

슬라이드 1 알티베이스의 DBMS 를바라보다! Session1. 오라클의눈으로알티베이스를보다 Session2. ALTIBASE HDB ZETA 소개 (New Feature & Utility) ALTIBASE 교육센터소개 Altibase Corp. 교육컨설팅팀성원준 AGENDA 1. Altibase 교육센터소개 2. Altibase 교육과정소개 Altibase 교육센터소개

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

90

90 89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

Document Control Change Reason Date Author Change Reference JHJEONG Created Reviews Date Name (Position) Distribution Name Locatio

Document Control Change Reason Date Author Change Reference JHJEONG Created Reviews Date Name (Position) Distribution Name Locatio Real Alternative DBMS ALTIBASE, Since 1999 MS SQL SERVER to ALTIBASE 변환가이드 ALTIBASE 6 2013.02 1. 1. 1. Document Control Change Reason Date Author Change Reference 2012-02-28 JHJEONG Created Reviews Date

More information

ESQL/C

ESQL/C 20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.3.1.10.6 Patch Notes 목차 BUG-45060 offline replication start 와 replication drop 을동시에수행하는경우, replication start 가완료되지않았으면 replication drop 을수행하지못하도록수정하였습니다... 4 BUG-46193 메모리테이블의이중화병렬 sync

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 5.3.3.93 Patch Notes Table of Contents BUG-27950 ALL PRIVILEGES 권한을가진계정이다른계정의테이블에 Foreign Key 를 생성하지못한다. 3 BUG-38105 PASSWORD_LIFE_TIME 경과후유예기간 (PASSWORD_GRACE_TIME) 내에 접속을시도할경우알림메시지를발생해야한다.

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE, ORACLE 비교자료 ALTIBASE 5 2010. 04 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

ORACLE-SQL

ORACLE-SQL ORACLE-SQL SELECT 문 2014-04-12 Blog.ksh123jjang.me 내용 SELECT문이란?... 2 SLELECT문사용하기... 3 모든열선택... 4 특정열검색... 5 SQL문작성방법... 6 열머리글기본값... 7 산술식... 8 NULL... 9 열 alias... 10 연결연산자... 11 대체인용연산자 (q)... 12 중복행제거...

More information

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용] Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

예제소스는  에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Microsoft Word - 기술노트[19회] Flashback.doc

Microsoft Word - 기술노트[19회] Flashback.doc Goodus 기술노트 [19 회 ] Flashback Author 권웅원, 나지혜 Creation Date 2007-04-25 Last Updated 2007-04-25 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-04-25 권웅원,

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER

More information

62

62 2 instance database physical storage 2 1 62 63 tablespace datafiles 2 2 64 1 2 logical view control files datafiles redo log files 65 2 3 9i OMF Oracle Managed Files, OMF 9i 9i / / OMF 9i 66 8 1MB 8 10MB

More information

PRO1_02E [읽기 전용]

PRO1_02E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG

More information

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서 PowerChute Personal Edition v3.1.0 990-3772D-019 4/2019 Schneider Electric IT Corporation Schneider Electric IT Corporation.. Schneider Electric IT Corporation,,,.,. Schneider Electric IT Corporation..

More information

Tibero

Tibero Tibero 전환유틸리티가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담 대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담일것이다. 말그대로대량의데이터를변경해야하는작업의특성상 SQL Tuning 만으로성능을개선할여지는많지않을뿐더러개선을한다하더라도극적인효과를기대하기는어렵다.

More information

제목을 입력하세요.

제목을 입력하세요. 1. 4 1.1. SQLGate for Oracle? 4 1.2. 4 1.3. 5 1.4. 7 2. SQLGate for Oracle 9 2.1. 9 2.2. 10 2.3. 10 2.4. 13 3. SQLGate for Oracle 15 3.1. Connection 15 Connect 15 Multi Connect 17 Disconnect 18 3.2. Query

More information

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt Tablespace 의관리 Getting the most out of MetaLink 최창권, 김주연 제품지원실한국오라클 ( 주 ) 한국오라클에서주최하는 Technical iseminar DATABASE의 tablespace 이해 에참석해주신여러분께감사드립니다. 저는한국오라클제품지원실에근무하는최창권입니다. 오늘세미나에서는 ORACLE database의논리적인저장소역할을하는

More information

결과보고서

결과보고서 오픈 소스 데이터베이스 시스템을 이용한 플래시 메모리 SSD 기반의 질의 최적화 기법 연구 A Study on Flash-based Query Optimizing in PostgreSQL 황다솜 1) ㆍ안미진 1) ㆍ이혜지 1) ㆍ김지민 2) ㆍ정세희 2) ㆍ이임경 3) ㆍ차시언 3) 성균관대학교 정보통신대학 1) ㆍ시흥매화고등학교 2) ㆍ용화여자고등학교 3)

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

윈백및업그레이드 Tibero Flashback 가이드

윈백및업그레이드 Tibero Flashback 가이드 Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

오라클 데이터베이스 10g 핵심 요약 노트

오라클 데이터베이스 10g 핵심 요약 노트 1 10g 10g SYSAUX 10g 22 Oracle Database 10g, 10g. 10g. (Grid), 10g.. 10g SYSAUX (ASM, Automatic Storage Management) 10g 10g. g. (DBA).,., 1).,..? 10g,.. (Larry Ellison).. (Leverage Components), (ASM) (

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

VOL.76.2008/2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph 인터그래프코리아(주)뉴스레터 통권 제76회 비매품 News Letters Information Systems for the plant Lifecycle Proccess Power & Marine Intergraph 2008 Contents Intergraph 2008 SmartPlant Materials Customer Status 인터그래프(주) 파트너사

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2 5 장 SQL 응용 데이터베이스실험실 1 [ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL 5.2.1 T-SQL 문법 5.3 JAVA 프로그래밍 2 5.1 데이터베이스프로그래밍개념 프로그래밍 이라고하면프로그램소스를설계하고, 작성하고, 디버깅하는과정을말한다. 프로그램 혹은소프트웨어는컴퓨터에서주어진작업을하는명령어나열을말한다. 데이터베이스프로그래밍은명확한정의는없지만데이터베이스에데이터를정의하고,

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information