Oracle - Получить значение параметра функции в курсоре - PullRequest
0 голосов
/ 10 января 2019

У меня есть пакет, в котором я создал одну функцию, подобную этой

create or replace package pk_server_control
is
function fn_get_employees_by_consultant(consultant_id number) return number;
end;
-----------------------------------------------------------------
create or replace package body pk_server_control
is

 **function fn_get_employees_by_consultant(consultant_id number)
 return number
 is
  cursor employees is select c.CST_NAME, a.NO_OF_EMPLOYEES from NISHAN_LDS_ACCOUNT a join NISHAN_LDS_CONSULTANT c
                      on c.CONSULTANT_ID = a.FK1_CONSULTANT_ID where c.CONSULTANT_ID =consultant_id ;
 total number := 0; **

 begin
   for data in employees
   loop
    total := total + data.NO_OF_EMPLOYEES;
   end loop;

   return total;
 end;
end;


begin
dbms_output.put_line(pk_server_control.fn_get_employees_by_consultant(1));
end;

Мне нужно получить значение из параметра "номер консультанта" функции "fn_get_employees_by_consultant" в "консультант_ид" курсора "". Во время работы не выдает ошибку и не передает значение. Пожалуйста, помогите мне пройти через это:)

1 Ответ

0 голосов
/ 10 января 2019

Попробуйте это

create or replace package pk_server_control
is
 function fn_get_employees_by_consultant(consultant_id number) return number;
end;
-----------------------------------------------------------------
create or replace package body pk_server_control
is
  function fn_get_employees_by_consultant(consultant_id number)
  return number
  is
   val number := consultant_id;
   cursor employees is select c.CST_NAME, a.NO_OF_EMPLOYEES from NISHAN_LDS_ACCOUNT a join NISHAN_LDS_CONSULTANT c
                       on c.CONSULTANT_ID = a.FK1_CONSULTANT_ID where c.CONSULTANT_ID =val;
  total number := 0;

  begin
    for data in employees 
    loop
     total := total + data.NO_OF_EMPLOYEES;
    end loop;

    return total;
  end;
end;


begin
 dbms_output.put_line(pk_server_control.fn_get_employees_by_consultant(3));
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...