type rec_co_hc_no   is record (type          temp_inspection_data.type_list%type,
                                 co            number(15,2),
                                 hc            number(15,2),
                                 no            number(15,2),
                                 total_times   number(15),
                                 total_vehicle number(15));
                                     
  type tbl_co_hc_no   is table of rec_co_hc_no;
rec_co_hc_no和tbl_co_hc_no都位于Oracle包头,然后就是存储过程
  procedure batch_insert_co_hc_no(arr_co_hc_no       in tbl_co_hc_no, 
                                  iv_inspection_type in temp_total.inspection_type%type,
                                  iv_timestamp       in varchar2);
请问这个地方的tbl_co_hc_no是什么数据类型呢?

解决方案 »

  1.   

    rec_co_hc_no是记录类型,tbl_co_hc_no是嵌套表类型
      

  2.   

    tbl_co_hc_no是类似于一个数组的类型,数组的单元就是rec_co_hc_no这个表里面的所有字段.
      

  3.   

    我现在要转化成Sql的存储过程,主要是这个tbl_co_hc_no数据类型该写什么?
      

  4.   

    type tbl_co_hc_no  is table of rec_co_hc_no; 
    --上面这句写错了吧,正确的如下9i,
    type tbl_co_hc_no  is table of rec_co_hc_no%rowtype; 
    --定义一个变量:
    declare
      type tbl_co_hc_no is table of rec_co_hc_no%rowtype; 
      v_tbl_co_hc_no tbl_co_hc_no := tbl_co_hc_no();
    begin
      v_tbl_co_hc_no.extend(5);--数组的长度为5.
      v_tbl_co_hc_no(1).column1 := 'test';
      v_tbl_co_hc_no(2).column1 := 'test';
      .
      .
    end;
      

  5.   

    create table test080708(
      name     varchar2(30)
     ,course   varchar2(50)
     ,score    number
     );declare
      type tabletype is table of test080708%rowtype;
      tablerec tabletype := tabletype();
    begin
      tablerec.extend(1);
      tablerec(1).name   := 'Jason';
      tablerec(1).course := 'English';
      tablerec(1).score  := 88;
      forall i in tablerec.first .. tablerec.last
       insert into test080708 values tablerec(i);
    end;
      

  6.   

    oracle包头信息如下:  
    type rec_co_hc_no   is record (type          temp_inspection_data.type_list%type,
                                     co            number(15,2),
                                     hc            number(15,2),
                                     no            number(15,2),
                                     total_times   number(15),
                                     total_vehicle number(15));
                                         
      type tbl_co_hc_no   is table of rec_co_hc_no;包体信息如下;
    procedure stat_gear_box_asm(v_start_date  in date,             
                                  v_end_date    in date,            
                                  v_time_stamp  in varchar2) is 
        arr_co_hc_no             tbl_co_hc_no;    arr_onetimepassed        tbl_total;
        arr_passed               tbl_total;
      begin 
      .......
    现在需将数据平台由oracle 10g转换为sql server 2005
    请问这个存储过程我该怎么处理,
      

  7.   

    oracle包头信息如下:  
    type rec_co_hc_no   is record (type          temp_inspection_data.type_list%type,
                                     co            number(15,2),
                                     hc            number(15,2),
                                     no            number(15,2),
                                     total_times   number(15),
                                     total_vehicle number(15));
                                         
      type tbl_co_hc_no   is table of rec_co_hc_no;包体信息如下;
    procedure stat_gear_box_asm(v_start_date  in date,             
                                  v_end_date    in date,            
                                  v_time_stamp  in varchar2) is 
        arr_co_hc_no             tbl_co_hc_no;    arr_onetimepassed        tbl_total;
        arr_passed               tbl_total;
      begin 
      .......
    现在需将数据平台由oracle 10g转换为sql server 2005
    请问这个存储过程我该怎么处理,