pl / sql set ORA-00922: отсутствует или недопустим параметр при включенном параметре serveroutput; - PullRequest
0 голосов
/ 22 февраля 2019
set serveroutput on;

DECLARE 
 message varchar2(20):= 'Hello, World!';

BEGIN dbms_output.put_line(message); 
END; 
/

Ответы [ 3 ]

0 голосов
/ 22 февраля 2019

Похоже, что вы использовали SET SERVEROUTPUT ON в процедуре PL / SQL (или анонимном блоке), например,

SQL> begin
  2    set serveroutput on;
  3  end;
  4  /
  set serveroutput on;
      *
ERROR at line 2:
ORA-06550: line 2, column 7:
PL/SQL: ORA-00922: missing or invalid option
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored


SQL>

Возможно, вы не опубликовали все, что у вас есть;это SET команда часть процедуры больше ?Если так, уберите это.

0 голосов
/ 26 февраля 2019

Как уже указывали другие, «установить выход сервера» - это команда SQL * Plus.Если вам нужна эта функциональность в plsql, то вы ищете DBMS_OUTPUT.ENABLE.Ваш вышеуказанный блок становится:

declare 
  message varchar2(20) := 'Hello World';
begin 
  dbms_output.enable;
  dbms_output.put_line(message);
end ; 
0 голосов
/ 22 февраля 2019

Если использовать SQL * plus, тогда этот код работает нормально.

[oracle@krw-sql-ora12-01 ~]$ sqlplus scott/tiger

SQL*Plus: Release 11.2.0.3.0 Production on Fri Feb 22 08:07:25 2019

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> set serveroutput on;

SQL> DECLARE
  2   message varchar2(20):= 'Hello, World!';
  3  BEGIN dbms_output.put_line(message);
  4  END;
  5  /
Hello, World!

PL/SQL procedure successfully completed.

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...