* Advantages
- select * 문에서 유용
- 컬럼 갯수와 타입이 실행시 변경될 시 유용
(데이터베이스 컬럼의 갯수와 데이터 타입을 알 필요 없음)
- 대상: 테이블, 뷰, 커서, 커서 변수
create or replace procedure emp_record_proc(a number)
is
TYPE emp_rec_type IS RECORD
(empno emp.empno%type, --┐
sal emp.sal%type, --┼> %ROWTYPE으로
job emp.job%type); --┘
emp_rec emp_rec_type;
begin
select empno, sal, job into emp_rec
from (select empno, sal, job
from emp
where deptno = a
order by sal desc) e
where rownum = 1;
p(emp_rec.empno);
p(emp_rec.sal);
p(emp_rec.job);
end;
/
exec emp_record_proc(10)
exec emp_record_proc(30)
↓ ↓ ↓
create or replace view v1001
as select empno, sal, job from emp;
create or replace procedure emp_rowtype_proc(a number)
is
emp_rec v1001%rowtype;
begin
select empno, sal, job into emp_rec
from (select empno, sal, job
from emp
where deptno = a
order by sal desc) e
where rownum = 1;
p(emp_rec.empno);
p(emp_rec.sal);
p(emp_rec.job);
end;
/
exec emp_rowtype_proc(10)
exec emp_rowtype_proc(30)
------------------------------
declare
emp_rec emp%rowtype;
begin
select * into emp_rec
from emp
where empno = 7788;
p(emp_rec.empno||' '||emp_rec.ename||' '||emp_rec.job||' '||emp_rec.sal);
end;
/
'Oracle > PL/SQL' 카테고리의 다른 글
15일차 # 6-14: Update with records (0) | 2012.04.24 |
---|---|
15일차 # 6-13: Insert with records (0) | 2012.04.24 |
15일차 # 6-7: Record type (0) | 2012.04.24 |
15일차 # 6-3: Composite Data Types (0) | 2012.04.24 |
15일차 # 확인문제 (0) | 2012.04.24 |