create or replace function F_GET_KOSGU(nrn in number) return varchar2 is
nKOSGU varchar2(100);
begin
select distinct m.sagngrp
into nKOSGU
from T m
where m.nagent = nrn;
return nKOSGU;
exception
when no_data_found then
return sqlerrm;
when others then
return sqlerrm;
end;
Вот так работает:
select distinct m.sagngrp
from T m
where m.nagent = 9487598;
а мы типа угадать должны ошибку ?
нет таблицы, не совпадают типы, выдает несколько строк.
во первых поставь nrn in t.nagent%type, во вторых поставь MAX() вместо distinct
FR>Имя параметра совпадало с именем колонки таблицы.
Ахаха. У меня была мысль спросить об этом )
Натыкался на такое в свое время. С тех пор взял за правило всегда использовать префикс для аргументов и переменных,
ну типа v_nrn или p_nrn, это уж по вкусу. Во избежание конфликта имен.