0
я выполнил следующее:PL/SQL не может выполнить хранимую процедуру
CREATE OR REPLACE PROCEDURE DISCOUNT
(PHAR IN VARCHAR2,
TRADE IN VARCHAR2,
EFFECT IN VARCHAR2,
FORMULAE IN VARCHAR2,
PRICE IN NUMBER,
DISCOUNT IN NUMBER) IS
DECLARE
PHAR VARCHAR2(30), TRADE VARCHAR(30), EFFECT VARCHAR(250), FORMULAE VARCHAR2(50),
PRICE NUMBER(7,2);
BEGIN
SELECT TRADE IN TRADENAME WHERE PHARNAME = PHAR AND LISTPRICE = PRICE;
END DISCOUNT;
нормально и после нажатия "Enter", я набрал это
EXECUTE DISCOUNT;
и это то, что я получаю:
2
3
4
Это ошибка ??
В случае это необходимо, здесь структура СКИДКА рассказ:
PHARNAME NOT NULL VARCHAR2(30)
TRADENAME NOT NULL VARCHAR2(30)
SIDEEFFECT VARCHAR2(250)
FORMULA VARCHAR(50)
LISTPRICE NUMBER(7,2)
Во-первых, вы не указали, какую базу данных вы используете. Я предполагаю Oracle. Во-вторых, вы не указали, какой клиент используете. Я предполагаю SQL-Plus, исходя из вывода номеров строк. Ваша проблема заключается в том, что ваша процедура не является синтаксически правильной (вы не можете разделять объявления переменных запятыми, а ваш запрос недействителен SQL и не выбирает INTO), и вы не заканчиваете свою процедуру с помощью '/', что означает, что SQL * Plus все еще ждет вас, чтобы закончить его. Кроме того, неясно, чего вы ожидаете от этой процедуры. –
@JeffreyKemp Я использую команду Oracle Database 11g client & SQL * Plus. – Preeyah
Хорошо, это хороший старт. Мы определили вашу платформу и клиент. Как насчет остальных деталей? Что вы пытаетесь выполнить с помощью этого кода? –