У меня вопрос PL SQL, связанный с моим выводом. Предположим, у меня есть такая таблица:
Rates:
Company | Country | Level
AA | US | 5
BB | UK | 4
CC | FRANCE | 2
DD | FRANCE | 3
EE | US | 4
FF | UK | 5
Мне нужно создать ФУНКЦИЮ, которая получает в качестве параметра страну и предоставляет мне ее максимальный уровень.
это то, что я написал:
CREATE OR REPLACE
FUNCTION getMaxLevel(Country VARCHAR2)
RETURN NUMBER
IS
MaxLevel NUMBER;
BEGIN
SELECT max(R.Level) INTO MaxLevel
FROM Rates R
WHERE R.country=Country;
RETURN MaxLevel;
END getMaxLevel;
/
/*CALL TO CHECK*/
DECLARE
X NUMBER;
BEGIN
X:=getMaxLevel('FRANCE');
dbms_output.put_line(X);
END;
и мой вывод - максимальная ставка всей таблицы Rates, которая здесь, например, равна 6, но мне нужно было получить 3.
Буду благодарен за обнаружение моей ошибки :) Спасибо!