본문 바로가기

Database

04월10일 이론 및 실습 Trigger /* TRIGEER */ 1. Statement Trigger(문장 트리거) 1.1 Before Statement Trigger 1.2 After Statement Trigger 2. Row Trigger(행 트리거) (특정 행의 VALUE 값에 따라) 2.1 Before Row Trigger 2.2 After Row Trigger /* 공통 Before : DML 문(Insert, Update, Delete)이 발생하기 전 미리 실행하는 것으로 주로 검사를 목적으로 한다. After : DML 문(Insert, Update, Delete)이 발생한 후 그 결과에 따라 또 다른 명령을 실행하는 것. 주로, 연쇄적인 액션을 취하는 것으로 사용한다. */ /*BEFORE STATMENT TRIGGER 실습 .. 더보기
04월09일 PL_SQL 실습 및 이론 (2) --OS에서 *.txt 파일에 저장된 데이터를 읽어와 테이블을 하나 생성(External Table)하고 그 테이블의 내용을 기반으로 아래와 같이 '이름'과 '과목별 점수'항목을 나타낸다. Jumsu.txt 조영빈,100,90,95 신일섭,100,100,100 허준구,80,70,90 송미리,80,90,100 최민성,90,70,80 정지수,30,20,10 우선 실습을 위해 directory 생성 권한을 부여한다. (권한이 없다면 아래와 같이 오류가 발생한다.) 이땐, SYS 에서 GRANT CREATE ANY DIRECTORY TO SCOTT; 그리고 'FILEPATH' 라는 이름으로 "D:\FILEDB\"의 경로로 디렉토리 경로를 인식시켜준다. CREATE OR REPLACE DIRECTORY FILEP.. 더보기
04월09일 PL/SQL 실습 및 이론 (1) 하나의 테이블 정보를 다른 특정 테이블로 조건별로 넣기. (EMP 테이블의 SAL값을 기반으로 등급을 매겨 특정 테이블에 삽입한다.) EMP 테이블에서 SAL 값이 2000 ~ 5000 사이인 직원들을 선별하여 사원번호(EMPNO), 사원이름(ENAME),월급(SAL)의 정보를 'TBLEMPSAL'이란 테이블에 입력한다. CREATE TABLE TBLEMPSAL TABLESPACE KHTBS AS SELECT EMPNO, ENAME,SAL FROM EMP WHERE SAL BETWEEN 2000 AND 5000; 생성된 TBLEMPSAL 테이블의 정보를 조회해보면, PROCEDURE를 통해 등급(RANK)을 사용해 값들이 들어갈 테이블을 생성한다. CREATE TABLE TBLEMPSALRANK (EMP.. 더보기
4월 7일 PL/SQL 사원번호를 입력해주면 해당 사원의 사원명, 직종, 연봉이 출력되는 PROCEDURE를 생성하려고 한다. FROM ( PL/SQL EDITOR ) CREATE OR REPLACE PROCEDURE P_EMPINFO (V_EMPNO IN NUMBER) IS V_ENAME VARCHAR2(10); --변수 선언 V_JOB VARCHAR2(10); V_YEARPAY NUMBER(6); BEGIN SELECT ENAME,JOB,SAL*12 + NVL(COMM,0) INTO V_ENAME,V_JOB,V_YEARPAY FROM EMP WHERE EMPNO=V_EMPNO; DBMS_OUTPUT.PUT_LINE('-------------------'); --뒤에 개행문자가 숨어있어서 라인을 자동으로 넘겨준다. DBMS_.. 더보기