Более подробная работа с типами данных языка PL/SQL продолжается. О том, что такое коллекции и записи я уже рассказывал. Поэтому — теперь надо приступать к следующему этапу повествования — и переходить к непосредственной работе, то есть — к определению типов коллекций (начнем пока с этого).
Понятное дело, что перед тем, как начать использовать коллекции — необходимо объявить тип коллекция, а затем — уже объявлять переменные данного типа. Не забывайте, что для коллекций справедливы все те правила области жизни и видимости переменных, которые мы с вами уже рассматривали в прошлых статьях о языке PL/SQL.
Объявление типов, напомню, происходит с помощью ключевого слова TYPE. Объявлений типов TABLE и VARRAY довольно сложные, но — я приведу самые простые объявления.
При объявлении типа VARRAY обязательно должна быть указан максимальный размер (целое положительное число). В следующем примере переменная можно задать три различных (или — одинаковых) числа:
TYPE testVar IS VARRAY(3) OF NUMBER;
Следующий тип коллекций, которые я рассмотрю — это ассоциативные массивы. Напомню, что при работе с ассоциативными массивами можно использовать в качестве индекса значение первичного ключа (так что это значение не обязательно будет числовым и последовательным). Как вы поняли — при объявлении этого типа будем обращаться к таблице базы данных:
TYPE testAM IS TABLE OF tablename%ROWTYPE INDEX BY PLS_INTEGER;
Примерно таким образом и происходит определение типов коллекций в языке PL/SQL. Некоторые другие типы коллекций (например — TABLE) объявляются примерно также, как и ассоциативные массивы. В общем, надеюсь — вы суть поняли и сумеете разобраться, как объявить коллекцию в своей программе. В следующие разу уже более подробно вам о них расскажу.
Комментариев нет:
Отправить комментарий