Использование DECLARE
там, где у вас есть, по сути, запускает новый блок кода, что приводит к появившейся ошибке.В вашем коде DECLARE
не требуется, если вы перемещаете объявление переменной до BEGIN
.DEFINE
также недействительно.Примерно так должно работать:
CREATE OR REPLACE FUNCTION LASTNAMEFIRST
(
varFirstName IN VARCHAR2,
varLastName IN VARCHAR2
)
RETURN VARCHAR2 AS
varFullName VARCHAR2(100);
BEGIN
varFullName := varLastName || ' ' || varFirstName;
RETURN varFullName;
END LASTNAMEFIRST;
Это можно упростить, если полностью удалить объявление переменной:
CREATE OR REPLACE FUNCTION LASTNAMEFIRST
(
varFirstName IN VARCHAR2,
varLastName IN VARCHAR2
)
RETURN VARCHAR2 AS
BEGIN
RETURN varLastName || ' ' || varFirstName;
END LASTNAMEFIRST;