Запускать команды Sql * Plus в Application Express - PullRequest
2 голосов
/ 23 апреля 2010

Я новичок в 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 Ответ

2 голосов
/ 23 апреля 2010

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;
...