• 复合类型 :包含多个元素、存储多个值


    --复合类型 :包含多个元素、存储多个值
    --01 记录类型

    set serveroutput on --打开输出功能
    declare
    type readerinfo_rc is record --声明记录类型的具体结构
    (
    v_readerid number(4),
    v_readername varchar2(10),
    v_unit varchar2(50)
    );

    v_readerinfo_rc readerinfo_rc;---声明一个变量v_readerinfo_rc,该变量的数据类型为readerinfo_rc,也就是记录类型
    begin
    select readerid,readername,unit
    into v_readerinfo_rc
    from readerinfo
    where readerid=9701;

    dbms_output.put_line('v_readerid= ' || v_readerinfo_rc.v_readerid); --如何提取变量中的数据,
    dbms_output.put_line('v_readername= ' || v_readerinfo_rc.v_readername);--提取数据使用“变量名称.成员名称”
    dbms_output.put_line('v_unit= ' || v_readerinfo_rc.v_unit);
    end;
    /
    --利用%rowtype 指明数据类型,存储数据
    declare
    v_readerinfo_rc readerinfo%ROWTYPE;--声明该变量的数据类型为readerinfo表的行类型
    begin
    select *--readerid,readername,unit
    into v_readerinfo_rc
    from readerinfo
    where readerid=9701;

    dbms_output.put_line('v_readerid = ' || v_readerinfo_rc.readerid);
    dbms_output.put_line('v_readername= ' || v_readerinfo_rc.readername);
    dbms_output.put_line('v_unit= ' || v_readerinfo_rc.unit);
    end;

    ---02 索引表类型 :与数组相似,成为关联数组
    declare
    type binary_inx_fst is table of readerinfo%rowtype
    index by binary_integer;--创建binary_inx_fst的索引表,以binary_integer类型为索引类型;

    v_inx_bnary binary_inx_fst;---声明索引表类型的变量

    begin
    select * into v_inx_bnary(1)
    from readerinfo
    where readerid=9701;

    dbms_output.put_line('v_inx_bnary 的值 =' || v_inx_bnary(1).readerid || '---'
    || v_inx_bnary(1).readername || '---'
    || v_inx_bnary(1).unit);
    end;

    --03 VARRAY变长数组类型:数组的下标会从1开始
    declare
    type varrary is varray(50) of varchar2(20);

    v_varr varrary:=varrary('1','2','3');
    begin
    v_varr(1):='我是';
    v_varr(3):='数组';
    v_varr(2):='变长';

    dbms_output.put_line('v_varr(1) =' || v_varr(1));
    dbms_output.put_line('v_varr(2) =' || v_varr(2));
    dbms_output.put_line('v_varr(3) =' || v_varr(3));
    end;











  • 相关阅读:
    Address already in use: JVM_Bind:80 异常的解决办法
    Spring(转载二)
    Spring(转载一)
    mybatis(二)
    mybatis(一)
    存储过程(二)
    存储过程(一)
    web过滤器
    请求转发和请求重定向
    JavaWeb(二)
  • 原文地址:https://www.cnblogs.com/empty01/p/5581902.html
Copyright © 2020-2023  润新知