Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[6주차] 32. PL/SQL언어, 변수의 타입을 간편하게 지정하는 방법, 1줄의 레코드를 한 번에 다 담을 수 있는 타입(%type, %rowtype) 본문

K-DigitalTraining 강의/2. Oracle + PLSQL

[6주차] 32. PL/SQL언어, 변수의 타입을 간편하게 지정하는 방법, 1줄의 레코드를 한 번에 다 담을 수 있는 타입(%type, %rowtype)

이대곤 2022. 6. 17. 10:39

변수의 타입을 간편하게 지정하는 방법

"변수 테이블.컬럼%type"

declare
   vid members.id%type; 		-- members테이블의 id 컬럼과 같은 타입으로 지정한다는 의미.
   vname members.name%type;		-- members테이블의 name 컬럼과 같은 타입으로 지정한다는 의미.
   vsalary members.salary%type;		-- members테이블의 salary 컬럼과 같은 타입으로 지정한다는 의미.

begin
	select id, name, salary
	into vid, vname, vsalary
	from members
	where id = 3;

   dbms_output.put_line(vid || ' ' || vname || ' ' || vsalary);
end;
/

1줄의 레코드를 한 번에 다 담을 수 있는 타입

- "변수 테이블명%rowtype"

- 이 타입의 변수에서 특정 컬럼의 값만 뽑아서 사용할 수 있는데 이는 컬럼이름을 통해 접근할 수 있다.

  이 타입의 변수의 내용들을 한 번에 출력하는 건 불가능함.

declare
	vmember members%rowtype; -- 1줄의 레코드를 다 담을 수 있는 타입
begin
	select * 
	into vmember
	from members
	where id = 3;
    
	dbms_output.put_line(vmember.id || ',' || vmember.gender); -- 컬럼이름으로 골라서 가져올 수 있음(한번에 모든 컬럼을 출력하는건 불가, 수작업으로 이렇게 지정해줘야 함)
end;
/
Comments