Почему нет вывода, когда завершается блокировка блока PLSQL? - программирование
Подтвердить что ты не робот

Почему нет вывода, когда завершается блокировка блока PLSQL?

Я просто попадал в PL/SQL, и я попытался запустить следующий код, и я получаю анонимный блок завершен, но я думаю, что мне нужно получить Тестирование вывода. Кто-нибудь знает, что я делаю неправильно?

DECLARE
   message varchar2(20) := 'Testing output';
BEGIN
   dbms_output.put_line(message);
END;
/
4b9b3361

Ответ 1

Просмотр DBMS_OUTPUT зависит от программы.

SQL * Plus и Oracle SQL Developer

Сначала запустите SET SERVEROUTPUT ON;. Это все, что необходимо в SQL * Plus или последних версиях Oracle SQL Developer.

SET SERVEROUTPUT ON;
begin
    dbms_output.put_line('Testing output');
end;
/

Разработчик PL/SQL

Вывод автоматически обнаруживается и отображается на вкладке "Выход".

Ответ 2

Да, в Oracle SQL Developer поставьте оператор:

SET SERVEROUTPUT ON;

перед вашим ключевым словом DECLARE, и это должно сработать.

Я не мог найти View -> DBMS Output, и я использую версию 1.5.5.

Ответ 3

Да. Есть способ увидеть вывод в SQL Developer.

Нажмите → Просмотр- > Вывод Dbms, а затем нажмите + символ в окне вывода Dbms. теперь вы можете запустить процедуру и увидеть результат.

Ответ 4

`Следующий оператор даст возможное решение, попробуйте это

SET SERVEROUTPUT ON;

Затем запустите этот код, чтобы получить следующий вывод

declare
a integer :=10;
b integer :=20;
c integer;
f real;
begin
c := a+b;
dbms_output.put_line('value of c: ' || c);
f := 70.0/3.0;
dbms_output.put_line('value of f: ' || f);

конец; /

В коде появится следующий вывод

значение c: 30 значение f: 23.3333333333333333333333333333333333333

Процедура PL/SQL успешно завершена.

Ответ 5

да, это правильно. вам необходимо использовать до этого блока:

УСТАНОВИТЬ СЕРВЕРА.

тогда сообщение появится в окне. иначе мы можем проверить в SQL Developer выбрать "Вид" → "Выход СУБД".
и в PLSQL-разработчике под вкладкой OutPut мы можем проверить сообщение.

Ответ 6

**SET SERVEROUTPUT ON;**
DECLARE
a INTEGER :=10;
b INTEGER :=20;
c float ;

d real ;
BEGIN
c :=a+b;
dbms_output.put_line('the value of C is :'|| c);
d := 70.0/3.3;
dbms_output.put_line('the value of d is:'|| d);
END;
/

Это даст вам выход

значение C равно: 30 значение d равно: 21.21212121212121212121212121212121212121

Ответ 7

Если вы выполняете "анонимный блок" во время выполнения процедуры, набрав "EXECUTE"; затем выполните команду ниже и снова выполните процедуру. команда

SET SERVEROUTPUT ON;