[ORACLE] PL/SQL - SELECT (암시적 커서)

privatekim·2024년 7월 14일
0

ORACLE

목록 보기
37/38

SQL은 SQL문의 결과를 PARSE/BIND/EXECUTE/FETCH 모든 절차를 거쳐 사용자에게 제공했다.

반면 PL/SQL은 일반적으로 해당 결과를 사용자에게 제공해 주지 않는다. 즉 PARSE/BIND/EXECUTE까지만 진행하여 ACTIVE SETㅇ늘 생성하지만, FETCH에 대해 자동으로 실행해 주지 않는다.

SELECT INTO

해당 fetch에 대한 기능을 우리는 into절을 통해 변수에 할당하여 사용자에게 제공할 수 있다.

받아올 변수의 타입을 직접 지정할 수 있지만 %type , %rowtype과 같은 암시적 커서의 속성을 이용해 받아올 수 있다.

DECLARE
 v_id	hr.employees.employee_id%type; -- 레코드 타입.
 v_data hr.employees%rowtype; -- 스칼라 데이터타입 
BEGIN
	SELECT *
    INTO v_data
    FROM hr.employees
    WHERE employee_id = 100;
   
	SELECT employee_id
    INTO v_id
    FROM hr.employees
    WHERE employee_id = 100;
    
    dbms_output.put_line(v_id); -- 100
    dbms_output.put_line(v_data.employee_id || v_data.last_name); - 100 이름
END;
/

바인드 변수도 사용할 수 있다.

0개의 댓글