我有一个已创建的视图,我需要从中提取一些标记。我读到有关BULK COLLECT的信息,但我认为它不适合我,因为稍后需要存储提取的值
SELECT TOKEN FROM MAPPING_VIEW WHERE USERNAME='Peter'
。
例如,我在这里返回了许多令牌(无法预测返回的令牌数量)。 我在pl / sql上很新,有人可以给我指导如何将提取的令牌存储在不同的变量中吗?正如我提到的,我不知道可以预先返回多少令牌。
答案 0 :(得分:0)
您可以尝试
DECLARE
TYPE rec_token IS TABLE OF VARCHAR2(100);
l_rec_token rec_token;
BEGIN
BEGIN
SELECT token
BULK COLLECT INTO l_rec_token
FROM mapping_view
WHERE username='Peter';
EXCEPTION
WHEN NO_DATA_FOUND THEN
l_rec_token := rec_token();
END ;
IF l_rec_token.COUNT >0 THEN
FOR i IN l_rec_token.FIRST..l_rec_token.LAST
LOOP
<doSomeThing>
END LOOP;
END IF;
END;