PL/SQL Введение 2
Определение собственных типов SUBTYPE Имя_подтипа IS описание типа; Примеры: SUBTYPE my_type IS NATURAL NOT NULL; SUBTYPE Text IS VARCHAR2(1500);
Массивы TYPE имя_типа_массива IS {VARRAY | VARYING ARRAY} (количество_элементов) OF тип_элементов [NOT NULL];
Использование массивов DECLARE TYPE myArrayType IS VARRAY(12) OF varchar2(3); myArray myArrayType; BEGIN myArray := myArrayType('Jan', 'Feb', 'Mar'); END;
Таблицы TYPE имя_типа IS TABLE OF тип_элементов_таблицы [NOT NULL] INDEX BY [BINARY_INTEGER | PLS_INTEGER | VARCHAR2(размер)];
Таблицы: объявление DECLARE TYPE myTableType IS TABLE OF NATURAL INDEX BY BINARY_INTEGER; myTable myTableType;
Таблицы: использование FOR i IN LOOP myTable (i) := 10; END LOOP;
Многомерные массивы TYPE mySubTable IS TABLE OF NATURAL INDEX BY BINARY_INTEGER; TYPE myTableType IS TABLE OF mySubTable INDEX BY BINARY_INTEGER;
Записи DECLARE TYPE myRecordType IS RECORD (person_name VARCHAR2(14), person_age NUMBER(3)); myRecord myRecordType; BEGIN myRecord.person_name := 10; END;
Задания Определить 3 переменных заранее определенного типа для хранения непустых целочисленных значений от -9 до 9. Заполнить их случайными значениями и вывести.
Подсказка: случайные значения begin dbms_random.initialize(to_number(to_char( sysdate, 'SSSS'))); dbms_output.put_line(dbms_random.value() ); end;
Задания Определить массив для хранения цвета (RGB) в трехмерном кубе 10х10х10 (координаты считать положительными), заполнить его произвольными значениями и вывести на экран: координата (x, y, z) -> (r, g, b)
Задания По массиву имен персон заполнить ассоциативный массив, элементы которого – записи с именем персоны в верхнем регистре, и датой, отличающейся от текущей на случайное количество дней (но не более 10). После этого вывести данные сформированного массива в формате: Имя персоны : December 31, 2008, 11:30 P.M.