Я хочу написать функцию, которую можно использовать для форматирования зарплаты преподавателя (FACULTY
- таблица, в которой каждая строка является членом) до $ 9 999 999,99 без жесткого кодирования точного типа данных зарплаты (т. Е. Функция должна работать дажеесли в будущем будут внесены незначительные изменения в размер / тип данных о заработной плате).Я хочу использовать эту функцию в SQL-выражении для отображения зарплаты преподавателя.
Вот как выглядит мой код функции прямо сейчас.
CREATE OR REPLACE FUNCTION FUNC_FORMAT_SAL(fid IN FACULTY.F_ID%TYPE)
RETURN NUMBER IS
sal NUMBER;
BEGIN
SELECT FACULTY.F_SALARY INTO sal FROM FACULTY
WHERE FACULTY.F_ID = fid;
RETURN sal;
END;
Я понимаю, что в PLSQL функция не может вернуть пустое место, верно?Вот почему я взял F_ID члена в качестве входа IN в функцию.Внутри этой функции я хочу отформатировать SALARY для этого члена, чтобы он мог отображаться при вызове оператора SQL, а затем возвращать отформатированный оклад.
Имею ли я какой-то смысл?Это учебный вопрос в классе, и я, кажется, могу понять, даже если это кажется простым.