for j in 1..v_tab.count-1 loop
for k in j+1..v_tab.count loop
if v_tab(j).m_Before(v_tab(k))then
continue;
elsif v_tab(j).m_After(v_tab(k)) then
vt_temp := v_tab(j);
v_tab(j) := v_tab(k);
v_tab(k) := vt_temp;
在pl/sql中执行时,报错:pls-00201 必须说明标识符continue,请问这是什么原因呢?
continue;--oracle中没有continue;这样类似于java中的东东
elsif v_tab(j).m_After(v_tab(k)) then
vt_temp := v_tab(j);
v_tab(j) := v_tab(k);
v_tab(k) := vt_temp;
end if;--结束if语句
end loop;--结束内层for循环
end loop;--结束外层for循环
可以用GOTO实现,参考下以下文章
http://zzh.javaeye.com/blog/321592
--11g以下使用goto来代替continue,注意goto到的标签后必须是一个执行语句for j in 1..v_tab.count-1 loop
for k in j+1..v_tab.count loop
if v_tab(j).m_Before(v_tab(k))then
goto next;
elsif v_tab(j).m_After(v_tab(k)) then
vt_temp := v_tab(j);
v_tab(j) := v_tab(k);
v_tab(k) := vt_temp;
end if;
....
<<next>>
null;
end loop;
end loop;