Old/Procedure 7

08_트리거

트리거-Trigger(방아쇠)는 특정한 조건에 의해 이벤트를 촉발하는 객체이다.-INSERT, UPDATE, DELETE 문에 한해서만 발동 된다.-Trigger는 TABLE에 관해서만 정의 될 수 있다.(View는 불가능하다.) CREATE OR REPLACE TRIGGER [트리거 이름][BEFORE|AFTER] -- 옵션[INSERT|UPDATE|DELETE] --옵션[FOR EACH ROW]...SQL/PL 실행문 BEFORE - 문장이 실행되기 전에 트리거가 실행 된다.AFTER - 문장이 실행된 후 트리거가 실행된다.FOR EACH ROW - 이 옵션이 있으면 행(문장) Trigger가 된다. emp01, emp02 테이블을 만든다. 새로운 트리거를 만든다 트리거 이름은 tri_insert이고..

Old/Procedure 2018.10.11

07_커서

1. 묵시적(암시적) 커서- 암시적 커서는 SQL문장이 처리되는 곳에 대한 익명의 주소이다.- 실행되는 모든 SQL문장은 암시적인 커서가 생성되며, 커서 속성을 사용 할 수 있다. 2. 명시적 커서- 명시적 커서는 커서를 선언해서 사용 하는 방법 이다. CURSOR [커서이름] IS [실행할 문장] - 커서에는 보통 한 개 이상의 데이터가 담기게 된다- 이때 데이터를 하나씩 빼 내기 위해서는 OPEN, FETCH, CLOSE의 과정을 거친다. 3. FOR IN LOOP문- FOR LOOP문을 활용한 커서- FOR IN LOOP문을 이용하면 OPEN, FETCH, CLOSE가 자동 실행 된다. 예시1 번을 FOR IN LOOP로 수정한 소스코드이다. OPEN FETCH CLOSE가 사라졋고 LOOP문의 E..

Old/Procedure 2018.10.11

04_활용

SELECT * FROM emp; SET SERVEROUTPUT ON; --데이터 입력 프로시저CREATE OR REPLACE PROCEDURE insert_data( v_ename IN emp.ename%TYPE, v_job IN emp.job%TYPE, v_deptno IN emp.deptno%TYPE) IS BEGIN INSERT INTO emp (ename, job, deptno) VALUES (v_ename, v_job, v_deptno); DBMS_OUTPUT.put_line('데이터 입력 성공'); END;/ EXEC insert_data('kim','staff',3); 설명 : insert_data라는 프로시저를 만들고 이 프로시저는 3개의 매개변수를 입력 받아서 Table에 데이터를 추가..

Old/Procedure 2018.10.10

03_Function

1.함수 사용법프로시저에는 리턴 값이 없었지만 함수에는 리턴 값을 갖을 수 있다. CREATE OR REPLACE FUNCTION hello RETURN VARCHAR2 IS msg VARCHAR2(20); BEGIN msg:='hello world'; RETURN msg; END;/ VARIABLE message VARCHAR2(20);EXEC :message := hello;PRINT message; hello라는 함수를 만들어서 리턴값을 message에 저장한 후 출력하는 모습이다. 사원번호를 받아서 해당 사원의 급여를 출력하기 CREATE OR REPLACE FUNCTION print_salary(empno IN employees.emp_no%TYPE) RETURN employees.salary%..

Old/Procedure 2018.10.10

02_Scala

1.일반 단일 데이터 타입변수명 [CONSTANT] [DATA_TYPE] [NOT NULL] := 초기값; DECLARE var_emp_no NUMBER(3,0); var_emp_name VARCHAR2(40); var_emp_grade CHAR(1) := 'A'; BEGIN var_emp_no :=123; var_emp_name :='Kim'; DBMS_OUTPUT.PUT_LINE('사원 번호 : '||var_emp_no); DBMS_OUTPUT.PUT_LINE('사원 이름 : '||var_emp_name); DBMS_OUTPUT.PUT_LINE('사원 등급 : '||var_emp_grade); END;/ 일반 데이터 사용 예시를 익명 프로시저로 나타냄. DECLARE var_emp_no NUMBER(..

Old/Procedure 2018.10.10