Запускать команды Sql*Plus в Application Express

Я новичок в PL/SQL, я пытаюсь выполнить команды, которые я выучил на курсе.

VARIABLE area NUMBER
DECLARE
  radius NUMBER(2) := &s_radius;
  pi CONSTANT NUMBER := 3.14;
BEGIN
  :area := pi * radius * radius;
END;

Я понимаю, что могу запустить это с помощью SqlPlus, но я помню, что мой учитель запускал это из веб-браузера с помощью Application Express. Я пытаюсь выполнить те же команды там, в HOME >SQL>SQL Commands, но продолжаю получать ошибку

"ORA-00900: неверный оператор SQL"

,
Можете ли вы помочь мне запустить его в Application Express или указать, как я могу использовать редактор для выполнения этих упражнений курса?
Спасибо!

1 ответ

Решение

Apex не использует переменные таким же образом, так как он на самом деле не запускает SQLPlus (хотя он выглядит довольно похоже). Похоже, что примеры из вашего класса предназначены для использования в версии командной строки, а не в версии браузера. Следовательно, area а также s_radius не будет известно

Однако вы можете справиться с этим, переписав свой пример:

DECLARE
  area NUMBER;
  radius NUMBER(2) := 4; -- I have no idea what value you used.
  pi CONSTANT NUMBER := 3.14;
BEGIN
  area := pi * radius * radius;
  dbms_output.put_line ('Area is ' || area);
END;
Другие вопросы по тегам