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獲取所有員工的所有資訊。
type emp_table_type is table of emp%rowtype index by binary_integer;
var_emp_table emp_table_type;
select *
bulk collect into var_emp_table
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);
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;