Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Сделать функцию  [new]
dobriyA
Member

Откуда:
Сообщений: 1
Здравствуйте, помогите пожалайста с функцией.
ID - ID сотрудника
idK - id кафедры. без других таблиц. просто всё сравнить в одной таблице. по id.
Создать функцию, которая определяет, работает ли тот или иной сотрудник на указанной кафедре. Функция возвращает или значение FALSE и в параметре OUT соответствующий комментарий, или – TRUE и в параметре OUT – номер телефона сотрудника.

К сообщению приложен файл. Размер - 14Kb


Сообщение было отредактировано: 16 июн 20, 15:24
16 июн 20, 15:21    [22151722]     Ответить | Цитировать Сообщить модератору
 Re: Сделать функцию  [new]
Elic
Member [заблокирован]

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29861
dobriyA,

Это профессиональный форум, где люди обмениваются знаниями, а не форум недоучившихся нахлебников, мнящих на халяву сдать недозачёты.
16 июн 20, 16:11    [22151758]     Ответить | Цитировать Сообщить модератору
 Re: Сделать функцию  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2468
dobriyA,

declare
 v_msg varchar2(100);
 --create or replace
 function f(p_id number,p_id_k number,p_msg  out varchar2) return boolean as
   v_fio t.fio%type;
   v_id_k  t.id_k%type;
 begin
   select id_k,fio into v_id_k,v_fio from t where id=p_id;
   if v_id_k=p_id_k then
     p_msg := 'Cотрудник '||v_fio||' работает на кафедре с ид='||p_id_k;
     return true;
   else
     p_msg := 'Cотрудник '||v_fio||' НЕ работает на кафедре с ид='||p_id_k;
     return false;
   end if;
 exception when no_data_found then
   p_msg := 'Не найден сотрудник с Ид='||p_id;
   return false;
 end f;
begin
 case when f(111,3,v_msg) then dbms_output.put_line('Ok! '||v_msg);
          else dbms_output.put_line(v_msg); end case;
end;
/
SQL> /
Cотрудник dobriyA НЕ работает на кафедре с ид=3

PL/SQL procedure successfully completed.

SQL> select * from t;

        ID FIO                        ID_K
---------- -------------------- ----------
       111 dobriyA                       2

SQL>


....
stax
16 июн 20, 17:08    [22151800]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить