Oracle中IS TABLE OF的使用


IS TABLE OF :指定是一個集合的表的數組類型,簡單的來說就是一個可以存儲一列多行的數據類型。

 

INDEX BY BINARY_INTEGER:指索引組織類型

 

BULK COLLECT :指是一個成批聚合類型,簡單的來說 , 它可以存儲一個多行多列存儲類型,采用BULK COLLECT可以將查詢結果一次性地加載到集合中。

 

【實例】在SCOTT模式下,使用IS TABLE OF獲取所有員工的姓名,職務,工資信息。

 

declare  
  type type_ename is table of emp.ename%type;     
  type type_job is table of emp.job%type;  
  type type_sal is table of emp.sal%type;  
    
  var_ename type_ename:=type_ename();  
  var_job type_job:=type_job();  
  var_sal type_sal:=type_sal();  
begin  
  select ename,job,sal   
  bulk collect into var_ename,var_job,var_sal  
  from emp;  
    
  /*輸出雇員信息*/  
  for  v_index in var_ename.first .. var_ename.last loop  
      dbms_output.put_line('雇員名稱:'||var_ename(v_index)||' 職務:'||var_job(v_index)||' 工資:'||var_sal(v_index));  
  end loop;  
end; 

 

【實例】在SCOTT模式下,使用IS TABLE OF獲取所有員工的所有信息。

 

    declare  
       type emp_table_type is table of emp%rowtype index by binary_integer;  
       var_emp_table emp_table_type;  
    begin  
      select *  
      bulk collect into var_emp_table  
      from emp;  
        
      /*輸出雇員信息*/  
      for i in 1..var_emp_table.COUNT loop  
          dbms_output.put_line('雇員名稱:'||var_emp_table(i).ename||' 職務:'||var_emp_table(i).job||' 工資:'||var_emp_table(i).sal);  
      end loop;  
    end;  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM