Лабораторная работа № 2 Тема : Язык PL/SQL. Обработка ошибок. Курсоры !!! Номер варианта работы определяется по последней цифре номера списка студентов в журнале группы Задание: Вариант 0. 1. Напишите программу, в которой задайте свое исключение для определения названия первого найденного агентства, чей минимальный доход меньше 5000. 2. Напишите программу для считывания и вывода на экран данных о турах (не более трех), у которых класс меньше среднего. 3. Создайте курсор, который выводит число туров каждого класса. Определите массив на основе этого курсора, сохраните данные в массиве и выведите все элементы массива. Вариант 1. 1. Напишите программу, в которой задайте свое исключение для определения первого тура, организованного не в Турции и имеющего рейтинг не выше 2. 2. Напишите курсор, используя который программа выводит первые два агентства с наибольшими доходами. 3. Создайте массив, в которые считайте все европейские туры, и выведите содержимое массива Вариант 2. 1. Напишите программу, в которой, используя механизм исключений, найдите первое пропущенное значение идентификатора агентств после 102 в таблице Агентств. 2. Напишите программу для считывания и вывода на экран данных об агентствах (не более двух), у которых рейтинг больше среднего.. 3. Напишите курсор, который выводит число туров, организуемых каждым агентством. Определите массив со строковым индексирование на основе этого курсора и сохраните данные в массиве, используя в качестве индекса названия агентства. Вариант 3. 1. Напишите программу, в которой задайте свое исключение для определения имени первого найденного агентства, у которого нет отчета во втором квартале. 2. Используя курсор, сформируйте массив агентств, которые не подали отчеты за первое полугодие. 3. Создайте запись, в которую поместите число агентств в таблице Agen, число туров в таблице Tour и количество отчетов в таблице Bus. Заполните запись данными из ваших таблиц и выведите содержимое записи. Вариант 4. 1. Напишите сценарий для считывания и вывода на экран данных о турах (не более трех), у которых класс меньше среднего. Создайте два варианта циклов обычный и курсорный цикл FOR. 2. Напишите сценарий, в котором задайте свое исключение для определения первого агентства, у которого нет отчета в третьем квартале. 3. Используя вложенные курсоры, получите названия агентств, их рейтинги и количество отчетов. Создайте запись и считывайте данные в нее, с выводом содержимого записи для каждого агентства. Вариант 5. 1. Сформируйте массив азиатских туров, используя BULK COLLECT. Выведите содержимое массива. 2. Напишите программу, в которой задайте свое исключение для определения имени первого внешнего ключа из списка ограничений целостности словаря БД. 3. Используя курсор, сформируйте массив туров с максимальными доходами за каждый квартал. Выберите из массива максимальный и минимальный доходы. Вариант 6. 1. Используя исключения, найдите и выведите на экран первое пропущенное значение идентификатора тура, меньшее, чем 210 в таблице Туров. 2. Сформируйте массив типа VARRAY с данными о турах с максимальной доходностью за каждый квартал. 3. Создайте запись на основе таблицы Agen. Удалите из таблицы любую строку и, используя предложения RETURNING, заполните запись данными об удаленном агентстве. Выведите содержимое записи. Вариант 7. 1. Создайте запись и заполните ее данными о европейском туре, принесшим максимальный доход во втором полугодии. 2. Используя свое исключение, выведите первую в алфавитном порядке страну и определите название агентства, организующего в ней туристические поездки. 3. Создайте курсор, который выводит число туров, отчитавшихся в каждом квартале. Определите ассоциативный массив на основе этого курсора, сохраните данные в массиве и выведите два последних элемента массива. Вариант 8. 1. Напишите курсор, используя который программа выводит первые два по рейтингу агентства и названия стран, в которых эти агентства организуют туристические поездки. 2. Используя свое исключение, выведите первую по алфавиту страну, из стран с названиями, попадающими в диапазон от G до S. . 3. Определите массив с целочисленным индексирование на основе таблицы Доходов и сохраните данные в массиве. Выведите номера и суммы отчетов из двух первых элементов массива. Вариант 9. 1. Напишите программу, в которой задайте свое исключение для определения названия первого найденного тура, чей минимальный доход больше 1000. 2. Используя свое исключение, найдите второе пропущенное значение идентификатора тура, большее, чем 201 в таблице Туров. 3. Выберите за каждый квартал минимальную, максимальную и среднюю доходность азиатских туров и пометите эти данные в массив типа вложенной таблицы.