Почему нет вывода, когда завершается блокировка блока PLSQL?
Я просто попадал в PL/SQL, и я попытался запустить следующий код, и я получаю анонимный блок завершен, но я думаю, что мне нужно получить Тестирование вывода. Кто-нибудь знает, что я делаю неправильно?
DECLARE
message varchar2(20) := 'Testing output';
BEGIN
dbms_output.put_line(message);
END;
/
Ответы
Ответ 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;