• 常用数组定义方式


      oracle本身没有java中数组的概念,不过,平常很多人将下面存储数据的方式称作数组,所以个人暂时也就这样记忆吧。
    1,个人常用二维数组的定义如下:(模仿下标都为数字的二维数组)

    Type ARRAY1 is TABLE OF number  index by binary_integer;

    Type ARRAY2 is TABLE OF ARRAY1 index by binary_integer;

    canshu  ARRAY2;

    2,常规语法如下:

    declare 

    type type_array is table of t_user%rowtype index by binary_integer;  --类似二维数组 

    var_array type_array;

      begin     

     select * bulk collect into var_array from t_user; 

         for i in 1..var_array.count loop       

       dbms_output.put_line(var_array(i).user_id);          --二维数组的访问       

       dbms_output.put_line(var_array(i).username);     

     end loop; 

    end;

    3,数组的常用方式如下(摘自网络)

    1. --固定数组  
    2. declare  
    3.   type type_array is varray(10) of varchar2(20);  
    4.   var_array type_array:=type_array('ggs','jjh','wsb','csl','dd','bb');  
    5. begin  
    6.   for i in 1..var_array.count loop  
    7.       dbms_output.put_line(var_array(i));  
    8.   end loop;  
    9. end;  
    10.   
    11. --可变数组  
    12. declare   
    13.   type type_array is table of varchar2(20) index by binary_integer;  
    14.   var_array type_array;  
    15. begin   
    16.   var_array(1):='aa';  
    17.   var_array(2):='bb';  
    18.     
    19.   for i in 1..var_array.count loop  
    20.      dbms_output.put_line( var_array(i));  
    21.   end loop;  
    22.     
    23. end;  
    24.   
    25. --可变数组取表  
    26. declare  
    27. begin  
    28.     
    29. end;  
    30.   
    31. create or replace procedure proc_stock(n number)  
    32. as       
    33.        var_stock_code varchar2(10);  
    34.        var_stock_price number;  
    35. begin  
    36.        for i in 1..n loop  
    37.            var_stock_code:= lpad(STR1 =>i ,LEN =>6 ,PAD =>'0' ) ;  
    38.              
    39.            var_stock_price:=trunc(dbms_random.value*100)+1;  
    40.            --dbms_output.put_line(var_stock_code);  
    41.            --dbms_output.put_line(var_stock_price);  
    42.            insert into t_stock (stockcode,stockprice)   
    43.                   values(var_stock_code,var_stock_price);  
    44.            commit;         
    45.        end loop;  
    46. end;  
    47. declare  
    48. begin  
    49.        proc_stock(1000000);  
    50. end;  
    51. --用游标访问 14.578秒 13.5 13.8  
    52. declare  
    53.        cursor cur is select * from t_stock;  
    54.        row_stock t_stock%rowtype;  
    55. begin  
    56.        open cur;  
    57.        loop   
    58.             fetch cur into row_stock;  
    59.             exit when cur%notfound;  
    60.             null;  
    61.        end loop;  
    62.        close cur;  
    63. end;  
    64.   
    65. --用数组实现 4.813 1.953 2  
    66. declare  
    67.        type type_array is table of t_stock%rowtype index by binary_integer;  
    68.        var_array type_array;  
    69. begin  
    70.        select * bulk collect into var_array from t_stock;  
    71.        for i in 1..var_array.count loop            
    72.            null;  
    73.        end loop;  
    74. end;  
    75.   
    76. --访问自定义表  
    77. declare  
    78.        type type_record is record(  
    79.             username varchar2(20),  
    80.             sex varchar2(2)  
    81.        );  
    82.        type_record_user  type_record;  
    83.        type type_array is table of type_record_user%type index by binary_integer;  
    84.        var_array type_array;         
    85. begin  
    86.        select username,sex bulk collect into var_array from tuser;  
    87.        for i in 1..var_array.count loop  
    88.            dbms_output.put_line(var_array(i).username);  
    89.            dbms_output.put_line(var_array(i).sex);  
    90.        end loop;  
    91. end; 
  • 相关阅读:
    (三)xpath爬取4K高清美女壁纸
    聚焦爬虫:数据解析
    (二)requests-爬取国家药监局生产许可证数据
    (一)requests-实战小练习
    requests模块
    spring+apache dbcp +oracle 连接池配置以及优化
    IntelliJ IDEA 注释模版 输入/**后 不显示配置好的模板
    oracle 隔离级别、事务怎么开始的以及如何查看数据库采用字符集
    java 日期处理相关
    Oracle 插入数据时获取系统时间
  • 原文地址:https://www.cnblogs.com/akami/p/6927934.html
Copyright © 2020-2023  润新知