DBMS 24

[DBMS/Oracle] 트리거(Trigger)

트리거(Trigger) (사용형식) CREATE [OR REPLACE] TRIGGER 트리거명 BEFORE|AFTER INSERT|DELETE|UPDATE ON 테이블명 [FOR EACH ROW] [WHEN 조건] [DECLARE 선언영역] BEGIN 트리거 본문; [EXCEPTION 예외처리블록] END; - 'BEFORE|AFTER' : 트리거 본문이 실행될 시점으로(timing) EVENT(INSERT,UPDATE,DELETE)발생 전 또는 발생 후를 설정 - 'INSERT|DELETE|UPDAT' : 이벤트를 의미하며 'ON 테이블'에 DML동작이 발생되기 전 또는 후에 트리거 본문이 실행되는 요인을 결정. OR연산자로 복합사용 가능 - 'FOR EACH ROW' : 행단위 트리거를 생성 - 'W..

DBMS 2023.03.19

[DBMS/Oracle] 함수(User Defined function)

함수(User Defined function) - 반환 값이 존재하는 서브프로그램(SELECT문의 SELECT절 WHERE절, INSERT문의 VALUES, WHERE절 UPDATE문의 SET절, WHERE절에서 사용가능 - 그 밖의 특징은 프로시져와 동일 (사용형식) CREATE [OR REPLACE] PROCEDURE 함수명[( 매개변수 [IN|OUT|INOUT] 타입 [:=|DEFAULT 값][,] : 매개변수 [IN|OUT|INOUT] 타입 [:=|DEFAULT 값])] RETURN 타입명 IS|AS- 선언영역 BEGIN 실행영역 RETURN expr; [EXCEPTION 예외처리] END; - 'RETURN 타입명' : 반환할 타입명만 기술 - 'RETURN expr' : 실행영역에서 반드시 하..

DBMS 2023.03.18

[DBMS/Oracle] 저장 프로시져(STORED PROCEDURE)

저장 프로시져(STORED PROCEDURE : PROCEDURE) - 반환 값이 없는 서브프로그램 - 컴파일되어 서버에 저장 - 특징은 PL/SQL의 특징을 공유함 (사용형식) CREATE [OR REPLACE] PROCEDURE 프로시져명[( 매개변수 [IN|OUT|INOUT] 타입 [:=|DEFAULT 값][,] : 매개변수 [IN|OUT|INOUT] 타입 [:=|DEFAULT 값])] IS|AS 선언영역 BEGIN 실행영역 [EXCEPTION 예외처리] END; - 'IN|OUT|INOUT' : 매개변수가 입력용(IN),출력용(OUT),입출력공용(INOUT)여부 정의 생략되면 IN으로 간주 - '타입' : 매개변수의 타입으로 크기를 지정하지 않는다. - ':=|DEFAULT 값' : 매개변수에 값..

DBMS 2023.03.18

[DBMS/Oracle] IF문, 커서(CURSOR), 반복명령

1. IF문 - 개발언어의 IF문과 동일기능 제공 --(사용형식-1) IF 조건문 THEN 명령문1; [ELSE 명령문2;] END IF; --(사용형식-2) IF 조건문 THEN 명령문1; ELSIF 조건문2 명령문2; : ELSE 명령문n END IF; --(사용형식-3) IF 조건문 THEN IF 조건문2 명령문1; ELSE 명령문2; END IF; ELSE 명령문n; END IF; 사용예) 키보드로 년도를 입력받아 윤년과 평년을 구별하여 출력하시오 윤년 : 4의 배수이면서 100의 배수가 아니거나 또는 400의 배수가 되는 해 ACCEPT P_YEAR PROMPT '년도(YYYY) : ' DECLARE L_YEAR NUMBER:=TO_NUMBER('&P_YEAR'); --입력년도를 숫자로 변환 저..

DBMS 2023.03.18

[DBMS/Oracle] PL/SQL(Procedual LANGUAGE SQL)

PL/SQL(Procedual LANGUAGE SQL) - 기본 SQL이 구조적 언어이기 때문에 변수,반복,분기 등의 기능이 제거되어 제공 - 기본 SQL에 절차적 언어의 특징을 추가한 SQL을 PLSQL이라 함 - 미리 작성되어 컴파일한 형태로 서버에 저장됨 - 실행 속도의 향상과 네트웍 트래픽 감소 - 블록 구조로 복수개의 SQL문을 헌번에 실행할 수 있음 - 모듈화, 캡슐화 기능 제공 - 익명블록(Anonymous Block), Stored Procedure, User Defined Function, Trigger, Package 등이 제공됨 1. 익명블록(Anonymous Block) - PL/SQL의 기본 구조 제공 - 이름이 없어 실행파일로 저장되지 않음 (기본 구조) DECLARE 선언영역 ..

DBMS 2023.03.18

[DBMS/Oracle] 인덱스(INDEX)

인덱스(INDEX) - 특정 자료의 검색효율을 높이기 위한 객체 - DB SERVER의 성능을 결정하는 요소가 검색 능력기며, SERVER의 부하를 줄여 전체 성능을 향상 - 단점 . 생성에 시간 및 공간이 소요 . 자료의 삽입,삭제,수정이 발생되면 인데스도 변경이 요구됨 . 인덱스를 유지관리하는데 많은 시간이 소요 - 종류 . Unique Index, Non Unique Index . Single, Composite . Normal, Bitmap, Function Based Normal...etc 사용형식) CREATE[UNIQUE|BITMAP] INDEX 인덱스명 ON 테이블명(컬럼명[,컬럼명,...]) [ASC|DESC] - 'UNIQUE|BITMAP' : 생성될 인덱스의 종류, 기본은 NON-UN..

DBMS 2023.03.17

[DBMS/Oracle] 동의어(SYNONYM)

동의어(SYNONYM) - 오라클 객체에 부여된 또 다른 이름(별칭) - 테이블이나 컬럼의 별칭과의 차이점은 동의어는 모든 곳에서 독립적으로 적용(사용)됨 테이블이나 컬럼의 별칭은 해당 SQL문에서만 사용 가능 - 주로 다른 계정의의 테이블 등의 객체를 참조할 때 '스키마명.객체명'을 사용해야하므로 이를 줄여 사용하는데 사용 사용형식) CREATE [OR REPLACE] SYNONYM 객체별칭 FOR 원본객체명 사용예) HR계정의 EMPLOYEES테이블과 DEPARTMENTS테이블에 EMP 및 DEPT 별칭을 부여하여 사용하시오. CREATE OR REPLACE SYNONYM EMP FOR HR.EMPLOYEES; CREATE OR REPLACE SYNONYM DEPT FOR HR.DEPARTMENTS;..

DBMS 2023.03.17

[DBMS/Oracle] 시퀀스(SEQUENCE)

시퀀스(SEQUENCE) - 자동적으로 증가(감소)되는 값을 제공하는 객체 - 테이블과 독립적으로 동작하므로 여러 테이블에서공유할 수 있음 - 사용되는 곳 . 기본키로 설정할 컬럼이 존재하지 않는 경우 . 자동적으로 증가하는 값이 필요한 경우 사용형식) CREATE SEQUENCE 시퀀스이름 [START WITH n] --시작 값 설정 생략하면 MINVALUE 값이 설정 [INCREMENT BY n] --증가[감소] 값 [MINVALUE n|NOMINVALUE] --최소값 설정.default는 NOMINVALUE이며 값은 1 [MAXVALUE n|NOMAXVALUE] --최대값 설정.default는 NOMAXVALUE이며 사용할 수 있는 값은 10^27 [CYCLE|NOCYCLE] --최대[최소]값까지 ..

DBMS 2023.03.17

[DBMS/Oracle] VIEW 객체

VIEW 객체 - 뷰는 테이블과 유사한 객체 - 기존 테이블이나 또 다른 뷰로부터 SELECT문에 의하여 생성 - 사용 . 필요한 자료가 여러 테이블에 분산 저장된 경우 . 특정자료에 대한 접근을 제한하고자 할때 사용형식) CREATE [OR REPLACE] VIEW 뷰이름[(컬럼list)] AS SELECT 문 [WITH READ ONLY] [WITH CHECK OPTION]; . '(컬럼list)': 뷰에 적용될 걸럼명으로 생략되면 뷰 생성에 사용된 SELECT문의 SELECT절의 별칭이 사용되고 별칭이 없는 경우 SELECT절의 컬럼명이 뷰의 컬럼명이 됨 . 'WITH READ ONLY' : 읽기전용 뷰가되어 뷰를 대상으로 DML명령 사용금지 DML명령은 제한없이 사용 가능) . 'WITH CHEC..

DBMS 2023.03.17
728x90