Я сейчас пытаюсь выяснить вопрос по моему заданию.Я никогда раньше не работал с массивами, но я создал коллекции, триггеры, функции, процедуры и курсоры.Я не спрашиваю об ответе, а скорее помогу по этому вопросу, поскольку я не совсем понимаю, как к нему подойти.
Объявить запись, в которой вы ведете запись таблицы LOCATIONS (LOCATION_ID,STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE и COUNTRY_ID) и операция.
Объявление массива, в котором вы храните записи местоположения в качестве элементов.
- Инициализация массива с помощьюзаполнение значений для каждого местоположения, которое вы хотите обработать
- Тип операции может быть «U» для обновления, «I» для вставки и «D» для удаления
- Итерация всех элементов массива изначало до конца и выполнить следующую логику для каждого местоположения, определенного в массиве:
- Если тип операции - «U», то обновите таблицу LOCATIONS значениями, поступающими из массива.Если идентификатор местоположения не найден в таблице, вставьте его как новую запись.
- Если тип операции - «I», вставьте запись в таблицу.Значения должны поступать из массива
- Если тип операции «D», удалить это местоположение из таблицы.
- Для каждой операции отображать сообщение после завершения процесса
- Если тип оператора отличается от U, I, D, отобразите правильное сообщение с указанием «Недопустимая операция».
- Подтвердите все транзакции
Частьнасчет операций также смущает меня, потому что я проделал некоторую работу, где вы использовали бы операторы в триггерах, но это не включало массив:
BEGIN
IF INSERTING THEN
INSERT INTO carlog
VALUES ('INSERT',user, SYSDATE, UPPER(:NEW.serial), UPPER(:NEW.make),
UPPER(:NEW.model), UPPER(:NEW.color));
END IF;
IF UPDATING THEN
INSERT INTO carlog
VALUES ('UPDATE',user, SYSDATE,:old.serial, old.make,
old.model, old.color);
END IF;
IF DELETING THEN
INSERT INTO carlog
VALUES ('DELETE',user, SYSDATE,:old.serial, old.make,
old.model, old.color);
END IF;
END;