ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PL/SQL FUNCTION
    SQL/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

    댓글

Designed by Tistory.