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;
/