복붙노트

[SQL] 왜 PL SQL 익명 블록이 완료 출력 없음? [복제]

SQL

왜 PL SQL 익명 블록이 완료 출력 없음? [복제]

난 그냥 PL / SQL로 받고 있어요, 나는 다음과 같은 코드를 실행하려고하고 나는 익명 블록이 완료 얻고있다,하지만 난 테스트 출력을 얻는해야한다고 생각. 어떤 내가 잘못하고있는 중이 야 무엇을 알고 있나요?

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

해결법

  1. ==============================

    1.DBMS_OUTPUT보기 프로그램에 따라 달라집니다.

    DBMS_OUTPUT보기 프로그램에 따라 달라집니다.

    SQL * 플러스와 오라클 SQL 개발자

    SET SERVEROUTPUT ON을 실행; 먼저. 이것은 SQL * 플러스 또는 Oracle SQL 개발자의 최신 버전 필요의 모든입니다.

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

    PL / SQL 개발자

    출력은 자동으로 감지하고 "출력"탭에 표시됩니다.

  2. ==============================

    2.예, 오라클 SQL Developer에서 문을 넣어 :

    예, 오라클 SQL Developer에서 문을 넣어 :

    SET SERVEROUTPUT ON;
    

    당신의 DECLARE 키워드 전에이 작업을해야합니다.

    내가보기를 찾을 수 없습니다 -> 출력 DBMS 나는 버전 1.5.5을 사용하고 있습니다.

  3. ==============================

    3.예. SQL Developer에서 출력을 볼 수있는 방법이있다.

    예. SQL Developer에서 출력을 볼 수있는 방법이있다.

    클릭 ->보기 -> DBMS 출력 한 다음 DBMS 출력 창에 + 기호를 클릭합니다. 지금 당신은 프로 시저를 실행하고 출력을 볼 수 있습니다.

  4. ==============================

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

    5.네, 맞습니다. 이 블록 전에 사용해야합니다 :

    네, 맞습니다. 이 블록 전에 사용해야합니다 :

    SET SERVEROUTPUT ON

    그런 다음, 메시지 GET 창에 표시됩니다.

    > "DBMS 출력"- 그밖에 우리는 "보기"를 선택 SQL Developer에서 확인할 수 있습니다. 출력 탭에서 PLSQL 개발자에 우리는 메시지를 확인할 수 있습니다.

  6. ==============================

    6.당신이 얻는 경우 입력하여 프로 시저를 실행하면 "실행;"하면서 "익명 블록 완료" 다음 명령 아래를 실행 및 절차를 다시 실행합니다. 명령은

    당신이 얻는 경우 입력하여 프로 시저를 실행하면 "실행;"하면서 "익명 블록 완료" 다음 명령 아래를 실행 및 절차를 다시 실행합니다. 명령은

    SET SERVEROUTPUT ON;

  7. ==============================

    7.

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

    이렇게하면 출력을 줄 것이다

    the value of C is: 30
    the value of d is: 21.21212121212121212121212121212121212121
    
  8. from https://stackoverflow.com/questions/14803195/why-no-output-when-plsql-anonymous-block-completes by cc-by-sa and MIT license