п а р а м е т р о в
н е треб ует заклю ч ен и я в скобки. Вы используете явн о
зад ан н ы й курсор (explicit cu rso r), если вы зы ваете им я_курсора, и н еявн о
зад ан н ы й курсор (im p licit cu rso r), если задаете о п ер ато р SELECT.
Следующ ий п р и м ер показы вает, как вы м ож ете н ап исать я в н ы й кур
сор в ц икле
FOR,
используя дан ны е, зап ол н яем ы е загруж аемы м скри п
том:
□ DECLARE
CURSOR с IS SELECT item_title FROMitem;
BEGIN
FOR i IN с LOOP
dbms_output.PUT_LINE(1 The title is ['||i.item_title||’]’);
END LOOP;
END;
/
Следующ ий п р и м ер показы вает, как м ож но зап и сать н еяв н ы й курсор
в ц икле
FOR,
используя дан ны е, зап ол н яем ы й загруж аемы м скриптом :
□ BEGIN
FOR i IN (SELECT item.title FROMitem) LOOP
dbms_output.PUT_LINE(‘The title is [‘||i.item_title|| ’ ]’);
END LOOP;
END;
/
В курсорном ц икле
FOR
п ер ем ен н ая сч етч и к а ц икла н е яв л яется чис
лом ти п а
PLS_INTEGER.
Э то ссы лка н а структуру ти п а «запись», которую
возвращ ает курсор. Вы ко м би н ируете п ерем енную сч етч и к а ц и к ла и имя
столбц а с пом ощ ью то ч ки , эта кон струкци я н азы вается селектором ком
понент. В этом случае сч етч и к курсорного ц и к ла яв л яется ком п о н ен то й .
С ел ектор ко м п о н ен т п о зво л яет вам в ы б и рать столбец из стр оки , в озвра
щ аем ой курсором.
О п е р а т о р д олж ен б ы ть п р ав и л ь н ы м о п е р а т о р о м
SELECT,
н о вы м ож е
т е д и н ам и ч еск и ссы л аться н а и м ен а л о к ал ь н ы х п ер ем ен н ы х , н е п р и б е
гая к сп ец и альн ом у си н таксису во всех п р ед л о ж ен и я х , кр о м е п р ед л о ж е
н и я
FROM.
Если вы н е п е р е о п р е д е л и л и к р и т е р и и вы хода, курсор н ы й
ц икл
FOR
п р о й д е т ч е р е з все стр о к и , в о зв р а щ ен н ы е курсором и ли о п е р а
тором .
Основы PL/SQL
Do'stlaringiz bilan baham: |