Почему оператор SELECT INTO sql выдает ошибку в этой функции Pl / SQL? - PullRequest
0 голосов
/ 11 мая 2019

Я пытаюсь создать функцию pl / sql, чтобы вычислить сумму всех зарплат в таблице сотрудников и вернуть ее.Я использую функцию суммы, но я получаю сообщение об ошибке

Я пытался изменить оператор SQL на это решение при условии переполнения стека

SELECT (select sum(salary) from employee) INTO total_sum FROM dual;

Ниже приведен оператор суммы, работающий

SQL> select sum(salary) from employee;

SUM(SALARY)
-----------
281000

Вот функция Pl / SQL

CREATE OR REPLACE FUNCTION total_salary(dep_number IN NUMBER)
RETURN NUMBER
IS
total_sum NUMBER;
BEGIN
SELECT (select total_sum sum(salary) from employee) INTO total_sum FROM     dual;
return total_sum;
END total_salary;

Вот ошибка Внимание: функция создана с ошибками компиляции.

SQL> show errors
Errors for FUNCTION TOTAL_SALARY:

LINE/COL ERROR
-------- -----------------------------------------------------------------
6/1      PL/SQL: SQL Statement ignored
6/29     PL/SQL: ORA-00923: FROM keyword not found where expected

Я ожидаю, что функция вернетсумма зарплаты

1 Ответ

0 голосов
/ 11 мая 2019

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

CREATE OR REPLACE FUNCTION total_salary(dep_number IN NUMBER) 
   RETURN NUMBER 
   IS total_sum NUMBER;
   BEGIN 
      SELECT SUM(salary) 
      INTO total_number 
      FROM employee
      WHERE deptid = dep_number; 
      RETURN(total_sum); 
    END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...