Study/SQL20 27.커서,트리거 /* 특정 SQL문장의 처리결과집합을 담고 있는 영역을 가르키는 포인터 커서를 이용하여 SQL문장의 처리결과집합에 접근 할 수 있다 오라클 내부에서 자동으로 생성되는 커서 PL/SQL 블록에서 SQL문장이 실행 될때마다 자동으로 생성 커서의 속성에 접근하여 여러가지 정보를 알 수 있다 - 묵시적커서의 속성 커서명%ISOPEN : FALSE 커서명%FOUND : 결과 집합이 1개 이상인 경우 커서명%NOTFOUND : 결과 집합이 0개인 경우 커서명%ROWCOUNT : 최근 수행된 쿼리의 결과행 수 사용자가 직접 정의하여 사용하는 커서 SQL문장의 결과집합에 접근 하여 커서 사용 시 여러 행으로 나타난 처리 결과에 순차적으로 접근이 가능하다. 커서선언(DECLARE) ↓ 커서열기(OPEN) ↓ 커서에서 데.. 2023. 5. 19. 26.plsql예외처리 /* - 사용자가 예외를 직접 정의 하고 사용 - 필수값체크, 유효성검사등에 사용 - 예외이름을 부여하므로 코드를 읽기 편하게 해주고 로직파악도 수월 해짐 사용방법 1. EXCEPTION 타입의 변수를 선언 합니다. 2. 메세지 처리대신 RAISE EXCEPTION타입 변수명 3. EXCEPTION절 에서 처리 */ create or replace PROCEDURE proc_ins_emp ( -- 매개변수와 매개변수타입 p_emp_id emp.emp_id%TYPE, p_emp_name EMP.EMP_NAME%TYPE, p_emp_no EMP.EMP_NO%TYPE, p_job_code EMP.JOB_CODE%TYPE ) IS v_res VARCHAR2(100); -- 1.사용자 정의 예외 선언 -- 변수명.. 2023. 5. 18. 25.plsql프로시저 -- EMP테이블 복사 CREATE TABLE EMP_DUP AS SELECT * FROM EMP; -- EMP테이블 조회 SELECT * FROM EMP_DUP; -- EMP_DUP테이블의 데이터를 모두 삭제 하는 프로시저 CREATE OR REPLACE PROCEDURE PROC_DEL_EMP_DUP IS BEGIN DELETE FROM EMP_DUP; COMMIT; END; / -- 프로시져 실행 EXEC PROC_DEL_EMP_DUP; /* PL/SQL 문을 저장하는 객체이다. 필요할 때마다 복잡한 구문을 다시 입력할 필요 없이 간단하게 호출해서 실행 결과를 얻을 수 있다. 특정 로직을 처리하기만 하고 결과값을 반환하지 않는다. [표현법] CREATE PROCEDURE 프로시저명 ( 매개변수 1 .. 2023. 5. 17. 24.plsql함수 SET SERVEROUTPUT ON; DESC EMP; DECLARE emp_id EMP.EMP_ID%TYPE; emp_name EMP.EMP_NAME%TYPE; emp_no EMP.EMP_NO%TYPE; job_code EMP.JOB_CODE%TYPE; V_CNT VARCHAR2(30); BEGIN emp_id := '&사번'; emp_name := '&사원명'; emp_no := '&주민번호'; job_code := '&직급코드'; --입력받은 JOB_CODE가 사용가능한 코드인지 체크(유효성 검사) SELECT COUNT(*) INTO V_CNT FROM JOB WHERE JOB_CODE = job_code; --유효하지 않은 값이 입력된 경우 IF V_CNT = 0 THEN INSERT INTO .. 2023. 5. 17. 이전 1 2 3 4 5 다음