pl- sql ошибка при выборе схемы HR - PullRequest
0 голосов
/ 13 февраля 2020

я хочу сделать что-то подобное .. но в функции .. выбрать * из сотрудников, где employee_id = & employee_id в схеме HR oracle

Q: Создать функцию «SEARCH_EMPLOYEE», которая получает сотрудника ID и возвращает все его атрибуты через выходной параметр со структурой данных, которая представляет всю его информацию

R:

Create or replace FUNCTION get_complete_employee (&in_employee_id IN NUMBER) 
    AS person_details;
    BEGIN 
    SELECT * --'Name-'||first_name||' '|| last_name
    into person_details
    FROM employees;   
   Dbms_output.put_line(person_details);
    -- END get_complete_employee;
    end;

у меня ошибка синтаксиса, я думаю .. я не знать, что не так

1 Ответ

0 голосов
/ 13 февраля 2020

Если вы изучаете, как создать функцию, которая возвращает всю строку таблицы, то следующий базовый c пример того же действия:

Данные таблицы:

SQL> select * from EMP;

    EMP_ID EMP_NAME             E
---------- -------------------- -
        10 John                 N
        20 May                  Y

SQL>

Функция:

SQL> CREATE OR REPLACE FUNCTION GET_COMPLETE_EMPLOYEE (
  2      IN_EMPLOYEE_ID IN   NUMBER
  3  ) RETURN EMP%ROWTYPE AS
  4      MY_ROWTYPE   EMP%ROWTYPE;
  5  BEGIN
  6      SELECT
  7          * --'Name-'||first_name||' '|| last_name
  8      INTO MY_ROWTYPE
  9      FROM
 10          EMP
 11      WHERE
 12          EMP_ID = IN_EMPLOYEE_ID;
 13
 14      RETURN MY_ROWTYPE;
 15  END;
 16  /

Function created.

SQL>

Вызов функции и результат:

SQL> SET SERVEROUT ON
SQL>
SQL> DECLARE
  2      EMPTYPE   EMP%ROWTYPE;
  3  BEGIN
  4      EMPTYPE := GET_COMPLETE_EMPLOYEE(10);
  5      DBMS_OUTPUT.PUT_LINE(EMPTYPE.EMP_NAME);
  6  END;
  7  /
John

Необходимо обработать сценарий множественных исключений ios в реальном кодировании.

Ура !!

...