关于PLSQL中关联数组的注意事项

时间:2016-12-25 23:48:13

标签: sql arrays oracle loops plsql

我正在学习PLSQL Collections,现在我正在练习associativa Arrays,第一步,我已经将PLSQL方法用于集合(FIRST,LAST,COUNT,PRIOR),我编写了一个简单的LOOP用于在屏幕上打印关联变量中的所有信息。这是一个关于随机橄榄球队球员的简单例子,但我不理解使用集合编码循环的步骤。这个循环工作正常,但我不明白创建关联数组循环的过程。我需要关于这个PLSQL资源的考虑和“理论”。感谢。

DECLARE
  TYPE spurs_players_type IS TABLE OF VARCHAR2(45)
       INDEX BY PLS_INTEGER;
  v_spurs_2006 spurs_players_type;

  v_spurs_numero PLS_INTEGER;
BEGIN
  v_spurs_2006(1)  := 'Robinson';
  v_spurs_2006(2)  := 'Chimbonda';
  v_spurs_2006(3)  := 'Young';
  v_spurs_2006(4)  := 'Zokora';
  v_spurs_2006(5)  := 'Davids';
  v_spurs_2006(6)  := 'Taino';
  v_spurs_2006(7)  := 'Stalteri';
  v_spurs_2006(8)  := 'Jenas';
  v_spurs_2006(10) := 'Keane';
  v_spurs_2006(20) := 'Dawson';
  v_spurs_2006(22) := 'Huddlestone';
  v_spurs_2006(25) := 'Lennon';
  v_spurs_2006(26) := 'King';
  v_spurs_2006(35) := 'Dervite';

v_spurs_numero := v_spurs_2006.LAST;

  WHILE v_spurs_numero IS NOT NULL
  LOOP
        DBMS_OUTPUT.PUT_LINE('Number of player ' ||
                             v_spurs_2006(v_spurs_numero) || ' is ' ||
                             v_spurs_numero);
        v_spurs_numero := v_spurs_2006.PRIOR (v_spurs_numero);
  END LOOP;
END;

1 个答案:

答案 0 :(得分:1)

.LAST和.PRIOR是收集方法,请查看以下文档: Collection Methods