-
PL/SQL FUNCTIONSQL/PL. SQL 2020. 2. 25. 20:38
PL/SQL FUNCTION
- 부서번호를 인자로 받고 부서명을 리턴해주는 함수 생성
- getDeptName
CREATE OR REPLACE FUNCTION getDeptName(p_deptno dept.deptno%TYPE) RETURN VARCHAR2 IS v_dname dept.dname%TYPE; BEGIN SELECT dname INTO v_dname FROM dept WHERE deptno = p_deptno; RETURN v_dname; END; /
- 직원번호를 인자로 받고 해당 직원의 이름을 리턴해주는 함수 생성
- getEmpName
CREATE OR REPLACE FUNCTION getEmpName(p_empno emp.empno%TYPE) RETURN VARCHAR2 IS v_ename emp.ename%TYPE; BEGIN SELECT ename INTO v_ename FROM emp WHERE empno = p_empno; RETURN v_ename; END; /
심화 실습
SELECT LPAD(' ', (LEVEL-1)*4) || deptnm FROM dept_h START WITH deptcd = 'dept0' CONNECT BY PRIOR deptcd = p_deptcd;
- 계층쿼리에서 계층구조를 나타내기 위해 LPAD(' ', (LEVEL-1), '-') 구문을 자주 사용하는데
이 구문을 함수로 만들어라
CREATE OR REPLACE FUNCTION getPadding(p_LEVEL NUMBER, p_indent NUMBER, P_padding VARCHAR2) RETURN VARCHAR2 IS v_lpad VARCHAR2(200); BEGIN SELECT LPAD(' ', (p_LEVEL-1)*p_indent, p_padding) INTO v_lpad FROM dual; RETURN v_lpad; END; /
'SQL > PL. SQL' 카테고리의 다른 글
트리거(trigger) (0) 2020.04.25 PL/SQL PACKAGE (0) 2020.02.25 PL/SQL 예외처리(EXCEPTION) (0) 2020.02.25 PL/SQL 날짜에 따른 애음주기 쿼리 조회 실습 (0) 2020.02.25 커서 ( Cursor ) (0) 2020.02.24