PL/SQL 익명의 블록

요약:이 튜토리얼에서,당신은 당신에 대해 배우게 될 것입 PL/SQL 익명의 블록고 그것을 실행하는 방법을 사용하여 SQL*Plus 과 SQL 개발자 도구입니다.

익명 블록 개요

코드가 블록으로 구성된 블록 구조 언어입니다. 선언,실행 파일 및 예외 처리 섹션입니다. 블록에서 실행 가능 섹션은 필수이고 선언 및 예외 처리 섹션은 선택 사항입니다.

함수 또는 프로시저는 명명된 블록의 예입니다. 명명된 블록은 오라클 데이터베이스 서버에 저장되며 나중에 다시 사용할 수 있습니다.

이름이 없는 블록은 익명 블록입니다. 익명 블록은 오라클 데이터베이스 서버에 저장되지 않으므로 한 번만 사용할 수 있습니다. 그러나 익명 블록은 테스트 목적으로 유용 할 수 있습니다.

다음 그림은 다음과 같습니다.:

1) 선언 섹션

선언 섹션에는 변수를 선언하고 커서에 메모리를 할당하며 데이터 형식을 정의하는 선언 섹션이 있습니다.

2)실행 섹션

실행 섹션이 있습니다. 실행 파일 섹션은 키워드BEGIN로 시작하고 키워드END로 끝납니다. 실행 섹션에는 아무 작업도 수행하지 않는NULL문인 경우에도 실행 문이 하나 이상 있어야 합니다.

3)예외 처리 섹션

키워드EXCEPTION로 시작하는 예외 처리 섹션이 있습니다. 예외 처리 섹션은 실행 섹션의 코드에 의해 발생하는 예외를 포착하고 처리하는 곳입니다.

참고 블록 자체는 실행 가능한 문이므로 다른 블록 내에 블록을 중첩할 수 있습니다.다음 예제에서는 하나의 실행 파일 섹션이 있는 간단한 실행 파일 블록을 보여 줍니다.

실행 파일 섹션은DMBS_OUTPUT.PUT_LINE절차를 호출하여"Hello World"메시지를 화면에 표시합니다.

:먼저 사용자 이름과 암호를 사용하여 오라클 데이터베이스 서버에 연결합니다.

둘째,SET SERVEROUTPUT ON명령을 사용하여 서버 출력을 켜서DBMS_OUTPUT.PUT_LINE절차가 화면에 텍스트를 표시합니다.

셋째,블록 코드를 입력하고 슬래시(/)를 입력하여 블록을 실행하도록 지시합니다. 슬래시(/)를 입력하면 그림과 같이 블록을 실행하고 화면에Hello World메시지를 표시합니다.

DBMS_OUTPUT.PUT_LINE절차를 사용하여 메시지를 표시하려면 오라클 데이터베이스에 연결하는 모든 세션에서SET SERVEROUTPUT ON명령을 실행해야 합니다.

입력한 블록을 다시 실행하려면 처음부터 모든 것을 입력하는 대신/명령을 사용합니다:

코드 블록을 편집하려면edit명령을 사용하십시오. 다음 그림과 같이 코드 블록을 파일에 쓰고 텍스트 편집기에서 엽니다:

편집

다음과 같이 파일의 내용을 변경할 수 있습니다:

그리고 파일을 저장하고 닫습니다. 파일의 내용은 버퍼에 기록되고 다시 컴파일됩니다.

그 후,다시 코드 블록을 실행할 수 있습니다,그것은 새로운 코드를 사용합니다:

익명 블록 실행

먼저 오라클 개발자를 사용하여 오라클 데이터베이스 서버에 연결합니다.

둘째,anonymous-block.sql라는 이름의 새 파일을 만듭니다.2018 년 11 월 1 일-2018 년 11 월 1 일

198></figure><p>셋째,코드를 입력하고 실행 버튼을 클릭하거나 키보드 단축키를 눌러 실행합니다.이 예제에서는 먼저 인사말 메시지를 보유하는 변수<code>l_message</code>를 선언합니다. 그런 다음 실행 섹션에서<code>DBMS_OUTPUT.PUTLINE</code>프로시저를 사용하여 리터럴 문자열을 사용하는 대신 이 변수의 내용을 표시합니다.</p><pre><div></div></pre><p>출력은 다음과 같습니다:</p> <pre>Hello World!</pre> <p>다음 익명 블록 예제에서는 실행 파일 섹션에서 발생한<code>ZERO_DIVIDE</code>예외를 포착하고 오류 메시지를 표시하는 예외 처리 섹션을 추가합니다.</p><pre><div></div></pre><p>오류 메시지:</p> <pre>ORA-01476: divisor is equal to zero</pre> <p>이제 익명 블록 생성 및 실행 방법을 알아야 합니다.</p> <div><ul> <li>이 튜토리얼이 도움이 되었습니까?</li><li>예 아니오</li></ul></div>



+