У вас есть некоторые проблемы:
- вам не хватает ключевого слова
PROCEDURE
ELSEIF
должно быть ELSE IF
- вы пропали без вести и
END IF
.
Отредактированный код:
CREATE OR REPLACE PROCEDURE consession_calculate(item_ID IN NUMBER, CON_PRICE OUT NUMBER) IS
PRICE NUMBER;
BEGIN
SELECT ITEM_PRICE
INTO PRICE
FROM ITEM
WHERE ITEM_CODE = item_ID;
IF (PRICE < 10)
THEN
CON_PRICE := PRICE;
ELSE
IF ( PRICE >= 10
AND PRICE <= 100)
THEN
CON_PRICE := (PRICE * 10) * 100;
ELSE
CON_PRICE := (PRICE * 20) * 100;
END IF;
END IF;
END;
/
Или, согласно тому, что a_horse_with_no_name заметил, что вы можете только добавить PROCEDURE
и отредактировать ELSEIF
в ELSIF
:
CREATE OR REPLACE PROCEDURE consession_calculate(item_ID IN NUMBER, CON_PRICE OUT NUMBER) IS
PRICE NUMBER;
BEGIN
SELECT ITEM_PRICE
INTO PRICE
FROM ITEM
WHERE ITEM_CODE = item_ID;
IF (PRICE < 10)
THEN
CON_PRICE := PRICE;
ELSIF ( PRICE >= 10
AND PRICE <= 100)
THEN
CON_PRICE := (PRICE * 10) * 100;
ELSE
CON_PRICE := (PRICE * 20) * 100;
END IF;
END;
/