比如说我现在定义了一个表类型的变量
type abc is record
( a varchar2(100),
b varchar2(100),
c varchar2(100));type abc_array is table of abc index by binary_integer;然后给该abc_arry赋值。
n number;
n := 1;for item in (select * from table1)loop
abc_array(n).a := item.a;
n := n+ 1;
end loop;
假设abc_array(3).a = 3,我如何通过找到abc_array中a=3的这条记录,并且知道这条记录是第几条记录?
type abc is record
( a varchar2(100),
b varchar2(100),
c varchar2(100));type abc_array is table of abc index by binary_integer;然后给该abc_arry赋值。
n number;
n := 1;for item in (select * from table1)loop
abc_array(n).a := item.a;
n := n+ 1;
end loop;
假设abc_array(3).a = 3,我如何通过找到abc_array中a=3的这条记录,并且知道这条记录是第几条记录?
DECLARE
TYPE TABLETYPE1 IS TABLE OF VARCHAR2(9) INDEX BY BINARY_INTEGER;
TABLE1 TABLETYPE1;
BEGIN
TABLE1(1):='成都市';
TABLE1(2):='北京市';
TABLE1(3):='青岛市';
DBMS_OUTPUT.PUT_LINE('总记录数:'||TO_CHAR(TABLE1.COUNT));
DBMS_OUTPUT.PUT_LINE('第一条记录:'||TABLE1.FIRST);
DBMS_OUTPUT.PUT_LINE('最后条记录:'||TABLE1.LAST);
DBMS_OUTPUT.PUT_LINE('第二条的前一条记录:'||TABLE1.PRIOR(2));
DBMS_OUTPUT.PUT_LINE('第二条的后一条记录:'||TABLE1.NEXT(2));
END;