Pl/SQL:如何对记录表进行排序?

cc.*_*cc. 1 sorting oracle collections plsql

我是 pl/sql 新手!我正在尝试使用简单的冒泡排序算法对记录表进行排序。问题是什么?

在哪里可以找到有关使用记录表的更多信息?

DECLARE
    text VARCHAR2(50);
TYPE TIP_VECTOR
IS
    TABLE OF INT INDEX BY BINARY_INTEGER;
TYPE contorRecord
IS
    record
    (
        codASCII VARCHAR2(3),
        contor   SMALLINT);
TYpe tip_vector2
IS
    TABLE OF contorRecord;
    VECTOR TIP_VECTOR;
    VECTOR2 TIP_VECTOR2 := TIP_VECTOR2();
  aux tip_vector2 := tip_vector2();
    v_char VARCHAR2(3);
    FLAG   BOOLEAN := TRUE;
    t smallint;
    n      SMALLINT := 1;
    ind    SMALLINT := 0;

begin
        AUX.EXTEND(1);
            WHILE(FLAG)
                    LOOP
                    FLAG  := FALSE;
    -- here is the problem; what i'm doing wrong?
                    FOR I IN 1..(vector2.count-1) LOOP 
    -- here is the problem; what i'm doing wrong?
                    IF VECTOR2(I).CONTOR  < VECTOR2(I+1).contor THEN
                    AUX         := VECTOR(I+1);
                    VECTOR(i+1) := VECTOR(I);
                    VECTOR(I)   := AUX;
                    FLAG        := TRUE;
                    END IF;
                    END LOOP;
                    END LOOP;
end;
Run Code Online (Sandbox Code Playgroud)

错误:

Error report:

PLS-00382: expression is of wrong type

PL/SQL: Statement ignored

PLS-00382: expression is of wrong type

PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
Run Code Online (Sandbox Code Playgroud)