Записи и коллекции в PL/SQL, страница 4

BEGIN

  SELECT Ch_Name  INTO tChName  FROM employees where id=1202;

  RETURN  tChName;

EXCEPTION WHEN others THEN

  RETURN  NULL;

END;

DECLARE

  my_tChName   Ch_Name_t;

BEGIN

  my_tChName   :=  get_ch;

END;

2.2.4. Коллекция как столбец таблицы базы данных

IdNUMBER

NameVARCHAR2(20)

Ch_Name  VARCHAR2(20)

1000

1007

1202

Molly Smith

Teddy  Mlime

Nick  Borrow

Kate

Tom

Bill

CREATE  TYPE Ch_Name_t  AS VARRAY(10) OF VARCHAR2(20);

CREATE  TABLE employees  (

Id             NUMBER,

Name        VARCHAR2(20),

Ch_Name  Ch_Name_t

);

INSERT INTO employees  (Id,Name, Ch_Name)

VALUES(1000, ‘Molly Smith’, Ch_Name_t(‘Kate’));

INSERT INTO employees  (Id,Name, Ch_Name)

VALUES(1007, ‘Teddy  Mlime’, NULL);

INSERT INTO employees  (Id,Name, Ch_Name)

VALUES(1202, ‘Nick  Borrow’, Ch_Name_t(‘Tom’,’Bill’));

2.3. Встроенные методы коллекций

Метод
Описание

Функция COUNT

Возвращает текущее количество элементов в коллекции

Процедура DELETE

Удаляет из один или несколько элементов коллекции

Функция EXISTS

Возвращает значение TRUE или FALSE, определяющее, существует ли в коллекции заданный элемент

Процедура EXTEND

Увеличивает количество элементов в коллекции

Функции FIRST, LAST

Возвращают индексы первого (FIRST) и последнего (LAST) элементов коллекции

Функция LIMIT

Возвращает максимальное количество элементов в массиве VARRAY

Функции PRIOR, NEXT

Возвращают индексы элементов, предшествующих заданному (PRIOR) и следующему за ним (NEXT)

Функция TRIM

Удаляет элементы, начиная с конца коллекции

имя_коллекции.метод

имя_коллекции.метод(индекс [, индекс])

2.3.1. Метод COUNT

DECLARE

my_List   List_t;

BEGIN

DBMS_OUTPUT.PUT_LINE(‘my_List count is ’|| my_List.COUNT);