Oracle三:复合类型--记录类型

--复合类型:记录类型
declare
  type test_rec is record(
     name varchar2(20) not null := 'chenchaoyang',
     age  int,
     info varchar2(40));
  rec_chen test_rec;
begin
  rec_chen.name := 'chenchaoyang';
  rec_chen.age := 27;
  rec_chen.info := 'is good man';
end;
 

--可以用select语句对记录变量进行赋值,只要保证记录字段与查询结果列表中的字段类型一致即可。
declare
  type record_type_employees is record(
     empno scott.emp.empno%type,
     empname scott.emp.ename%type,
     empjob scott.emp.job%type
  );
  v_temp_record record_type_employees;

begin
  select empno,ename,job into v_temp_record
  from scott.emp
  --注意:一个记录类型的变量保存从数据库中查询出的一行记录,若查询出了多行记录就会出现错误
  where scott.emp.empno = 7369;
end;

你可能感兴趣的:(oracle)