【发布时间】:2017-05-10 13:39:30
【问题描述】:
我正在学习 PLSQL 集合,现在我正在练习 associativa 数组,第一步,我使用 PLSQL 方法进行集合(FIRST、LAST、COUNT、PRIOR)并且我编写了一个简单的循环以在屏幕上打印关联变量中的所有信息。这是一个关于随机足球队球员的简单示例,但我不明白使用集合编写循环的步骤。这个循环工作正常,但我不明白创建关联数组循环的过程。我需要关于这个 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;
【问题讨论】:
-
不确定你在问什么——你不理解你写的代码;或者您现在想做其他事情(什么?)并且不知道如何/它不起作用? “理论”在the documentation...
-
这就是重点。看不懂你写的代码!!!我不明白为什么我必须在 DBMS_OUTPUT 之后写... "v_spurst :=....PRIOR (v_spurs_numero); 我了解循环是如何工作的,并且我用简单的变量 "variable_name table.column%" 编写了很多循环TYPE”,但现在很难理解关联 Varray 的 LOOP。我需要一些关于关联循环如何工作的简历或文本教程。感谢您回复我的帖子。
标签: sql arrays oracle loops plsql