ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오라클 PL/SQL 진입!
    ORACLE 2021. 12. 3. 02:26
    오전..에는.. 학원 자체 시험을 3과목이나 봐서 오후에서야 수업을 진행할 수 있었다.
    시험에서 좋은 성적을 받았으면 좋겠다.
     
    /PL/SQL 이란?
    - 오라클에서 제공하는 SQL 프로그래밍 기능이다.
    - 일반적인 프로그래밍과는 차이가 있지만, 오라클 내부에서 적절한 처리를 위해서
    적용해 줄 수 있는 절차지향적 코드 작성 방식입니다.
    - 쿼리문의 집합으로 어떠한 동작을 일괄처리하기 위한 용도로 사용합니다.

     

    SET SERVEROUTPUT ON; --출력문 활성화
    DECLARE -- 변수를 선언하는 구간(선언부)
    emp_num NUMBER; --변수 선언
    BEGIN -- 코드를 실행하는 시작 구간(실행부)
    emp_num := 10; --대입 연산자:=
    dbms_output.put_line(emp_num); --출력문
    dbms_output.put_line('hello pl/sql');
    END; --PL/SQL이 끝나는 구간(종료)
    --연산자
    -- 일반 SQL문의 모든 연산자의 사용이 가능합니다.
    -- **은 제곱을 의미합니다.
    DECLARE
    A NUMBER := 2**2*3**2;
    BEGIN
    dbms_output.put_line('a =' || TO_CHAR(A));
    END;
    /*
    -DML문
    DDL문은 사용이 불가능하고, 일반적인 SQL문의 SELECT 등을 사용하는데,
    특이한 점은 SELECT절 아래에 INTO절을 사용해 변수에 할당할 수 있습니다.
    */
    DECLARE
    v_emp_name VARCHAR2(50); -- 사원명 변수 (문자열 변수는 길이제약이 필요합니다.)
    v_dep_name VARCHAR2(50); -- 부서명 변수
    BEGIN
    SELECT
    e.first_name,
    d.department_name
    INTO
    v_emp_name, v_dep_name --변수에 대입을 의미합니다.
    FROM employees e
    LEFT OUTER JOIN departments d
    ON e.department_id = d.department_id
    WHERE employees_id = 100;
    DBMS_OUTPUT.PUT_LINE(v_emp_name||'-'||v_dep_name);
    END;
    --해당 테이블과 같은 타입의 컬럼 변수를 선언하려면 테이블명, 컬럼명%TYPE을 사용함으로써
    --타입을 일일히 확인하는 번거로움을 방지할 수 있습니다.
    DECLARE
    v_emp_name employees.first_name%TYPE; --v_emp_name이라는 변수는 employees 테이블의 first_name과 타입이 같아요!
    v_dep_name departments.department_name%TYPE;
    BEGIN
    SELECT
    e.first_name,
    d.department_name
    INTO
    v_emp_name, v_dep_name --변수에 대입을 의미합니다.
    FROM employees e
    LEFT OUTER JOIN departments d
    ON e.department_id = d.department_id
    WHERE employees_id = 100;
    DBMS_OUTPUT.PUT_LINE(v_emp_name||'-'||v_dep_name);
    END;
     
    나머지 시간에는 선생님이 내 주신 연습 문제를 풀었다.

    'ORACLE' 카테고리의 다른 글

    오라클 PL/SQL 트리거  (0) 2021.12.06
    오라클 PL/SQL 제어문, 반복문, 탈출문  (0) 2021.12.04
    11/29 오라클  (0) 2021.11.29
    11/26 복습복습 금토일..[3]  (0) 2021.11.28
    11/25 오라클 [2]  (0) 2021.11.25
Designed by Tistory.