PLS-00103: Обнаружен символ ")" при ожидании одного из следующих действий: ( - PullRequest
0 голосов
/ 03 января 2019

Я новичок в оракуле, и ниже приведена моя часть определения функций и вызова.Я не могу понять, какую ошибку я получаю при вызове функции.Пожалуйста, помогите мне исправить мой код.

ORA-06550: строка 4, столбец 56: PLS-00103: Обнаружен символ ")" при ожидании одного из следующих действий: (* ​​1003 *

create or replace function totalcustomers
RETURN number
IS
total number:=0;
BEGIN
select count(*) into total from customers;
RETURN total;
END;
/

declare sum number;
BEGIN
sum := totalcustomers();
dbms_output.put_line('Total number of customers '||sum);
END;
/

Ответы [ 3 ]

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

Sum - это функция, поэтому она ожидает открытого парена. Переименуйте переменную.

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

Часть вызова функции выдала упомянутую ошибку, потому что «сумма» может быть предопределенным ключевым словом в oracle. Помогло изменение переменной следующим образом.

declare x number;
BEGIN
x:=totalcustomers();
dbms_output.put_line(' Total number of customers: '||x);
END;
/

Выход: Заявление обработано. Общее количество клиентов: 6

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

Не используйте sum в качестве переменной, которая является зарезервированным ключевым словом в Oracle.

...