Я пытаюсь написать функцию PL/SQL Oracle, которая вернет заданный статус_определения приложения, чтобы я мог архивировать данные в таблицу истории, если возвращаемый статус_type является конкретным стоимость.Oracle - функция для возврата результата запроса на основе параметра
В случае данного примера мои типы статусов «Approved», «В ожидании» или «Отклонено»
я до сих пор написал эту функцию, так что я могу запустить метод в операторе IF, чтобы проверить текущий тип состояния перед архивированием данных.
CREATE OR REPLACE FUNCTION get_status(curr_id NUMBER)
RETURN VARCHAR2 AS this_type status_type;
BEGIN
SELECT status_type
INTO this_type
FROM status
WHERE status_id LIKE curr_id;
RETURN this_type;
END get_status;
И хотя он компилируется, я получаю сообщение о том, что мой оператор PL/SQL был проигнорирован.
Я довольно новичок в Oracle, поэтому, вероятно, я пропустил что-то прямое, может ли кто-нибудь дать мне какие-либо указания относительно того, где я ошибаюсь в своем коде?
Заранее спасибо, Alex.
Можете вы рассказать об ошибке, пожалуйста? – Mureinik
Удостоверьтесь: Ошибка (2,31): PLS-00201: идентификатор 'STATUS_TYPE' должен быть объявлен И Ошибка (5,3): PL/SQL: заявление SQL игнорируется - как я понимаю, строка "this_type status_type" устанавливает псевдоним этого_type в status_type (который является столбцом в таблице состояния)? – Alex