日期:2014-05-17  浏览次数:20892 次

lpdql
declare
  type num_varray is varray(100) of number;
  v_num_varray num_varray;
begin
  for j in 1..100
  loop
    v_num_varray:=num_varray(j);
  end loop;
     for i in 1..v_num_varray.count
     loop
    dbms_output.put_line(to_char(v_num_varray(i)));
    end loop;
  end;
结果:100

我的目的结果:从1到100
如何改写?
oracle?plsql plsql

------解决方案--------------------
引用:
declare
  type num_varray is varray(100) of number;
  v_num_varray num_varray;
begin
  for j in 1..100
  loop
    v_num_varray:=num_varray(j);
  end loop;
     for i in 1..v_num_v……





DECLARE
    TYPE NUM_VARRAY IS VARRAY(100) OF NUMBER NOT NULL;
    V_NUM_VARRAY NUM_VARRAY:=NUM_VARRAY();
BEGIN
    FOR J IN 1 .. 100 LOOP
        V_NUM_VARRAY.EXTEND;
        V_NUM_VARRAY(J) := J;
    END LOOP;
    FOR I IN 1 .. V_NUM_VARRAY.COUNT LOOP
        DBMS_OUTPUT.PUT_LINE(TO_CHAR(V_NUM_VARRAY(I)));
    END LOOP;
END;

使用集合API方法EXTEND,在不适用任何实参或者是有一个实参的情况下,就可以添加一行元素。