PL/SQL--复杂数据类型

PL/SQL–复杂数据类型

PLSQL 中常用的自定义类型就两种:记录类型、PLSQL 内存表类型(根据表中的数据字段的简单和复杂) 程度又可分别实现类似于简单数组和记录数组的功能

记录类型


declare 
  type emp_type is record
  (last_name    varchar2(10),
   first_name   varchar2(10),
   salary       number(6)  not null default 0);

  emp_param     emp_type; 

begin  
select first_name, last_name, salary 
       into emp_param.first_name, emp_param.last_name, emp_param.salary
       from employees
       where employee_id = 100;

       dbms_output.put_line(emp_param.first_name);
end;

行类型

declare 
  emp_param     employees%rowtype; 
begin
  select * 
    into emp_param
    from employees
    where employee_id = 100;
  dbms_output.put_line(emp_param.email); 
end;

内存表

PLSQL 内存表即 Index By Table , 这种结构类似于数组,使用主键提供类似于数组那样的元素访问。 这种类型必须包括两部分:1 、使用 BINARY_INTEGER 类型构成的索引主键; 2 、另外一个简单类型或者用户自定义类型的字段作为具体的数组元素。

declare
  type index_type 
    is table of employees.last_name%type
    index by binary_integer;

  index_param index_type;
begin 
  for i in 100..106 loop
    select last_name 
      into index_param(i)  
      from employees
      where employee_id = i;
  end loop;

  for j in 100..index_param.count+99 loop
    dbms_output.put_line(index_param(j));    
  end loop;
end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值