DBMS_OUTPUT

개요

DBMS_OUTPUT은 메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스를 제공하는 패키지입니다.

함수 / 프로시저
반환 타입
설명

DISABLE

n/a

할당된 메시지 버퍼를 제거하고, DBMS_OUTPUT 패키지 내의 다른 프로시저를 사용할 수 없게 하는 프로시저입니다.

ENABLE(buffer_size)

n/a

지정된 크기의 메시지 버퍼를 할당하고 DBMS_OUTPUT 패키지 내의 다른 프로시저를 사용할 수 있게 하는 프로시저입니다.

GET_LINE(line OUT, status OUT)

n/a

메시지 버퍼로부터 하나의 라인 메시지를 읽어오는 프로시저입니다.

GET_LINES(lines OUT, numlines IN OUT)

n/a

메시지 버퍼로부터 지정된 수만큼, 한 번에 여러 라인의 메시지를 읽어오는 프로시저입니다.

NEW_LINE

n/a

메시지 버퍼에 EOL 문자를 저장하는 프로시저입니다.

PUT(item)

n/a

메시지 버퍼에 메시지를 저장하는 프로시저입니다. 하나의 라인을 여러 번에 걸쳐 저장합니다.

PUT_LINE(item)

n/a

메시지 버퍼에 메시지를 저장하는 프로시저입니다. 버퍼에 저장되는 메시지의 마지막 라인 끝에 EOL 문자를 첨부합니다.


권한

설치는 super user에 이루어져야 하고 public으로 공개되어 있습니다.


구성

본 절에서는 DBMS_OUTPUT 패키지에서 제공하는 프로시저와 함수를 알파벳 순으로 설명합니다.

DISABLE

할당된 메시지 버퍼를 제거하고, DBMS_OUTPUT 패키지 내의 다른 프로시저를 사용할 수 없게 하는 프로시저입니다. 이 프로서지를 실행하면 메시지 버퍼에 남아있는 모든 메시지가 함께 제거됩니다.

프로토타입

예제

ENABLE

지정된 크기의 메시지 버퍼를 할당하고 DBMS_OUTPUT 패키지 내의 다른 프로시저를 사용할 수 있게 하는 프로시저입니다. 이 프로시저를 여러 번 호출하면 가장 크게 지정한 크기로 메시지 버퍼를 할당합니다.

프로토타입

파라미터

파라미터
설명

buffer_size

할당할 메시지 버퍼의 크기입니다. (단위: Byte)

예제

GET_LINE, GET_LINES

메시지 버퍼로부터 라인 단위로 메시지를 읽어오는 프로시저입니다. 이 프로시저는 라인 단위로 메시지를 읽으며, 하나의 라인을 형성하지 않은 메시지는 읽지 않습니다.

GET_LINE 또는 GET_LINES 프로시저를 호출한 후에 PUT 또는 PUT_LINE 프로시저를 호출하면, 현재까지 메시지 버퍼에 남아 있던 메시지는 모두 제거됩니다.

한 라인의 메시지는 최대 255bytes의 크기를 가지므로, 출력 파라미터의 크기를 충분하게 설정해야 합니다.

프로토타입

  • GET_LINE GET_LINE 프로시저는 한 번 호출될 때마다 하나의 라인만을 읽어옵니다.

  • GET_LINES GET_LINES 프로시저는 지정된 수만큼, 한 번에 여러 라인의 메시지를 읽어옵니다. 이때 메시지 버퍼로부터 실제로 읽어온 메시지 라인의 수를 반환합니다. 만약 메시지 버퍼 내에 충분한 수의 메시지 라인이 없어서 지정된 수 만큼의 메시지 라인을 가져오지 못하면, 가져온 메시지 라인의 수 만큼만 저장됩니다.

파라미터

파라미터
설명

line, lines

메시지 버퍼로부터 읽어 온 한 라인 또는 여러 라인의 메시지입니다.

status

메시지를 성공적으로 읽어 온 경우에는 0을 반환합니다.메시지를 성공적으로 읽어 오지 못한 경우에는 1을 반환합니다.

numlines

읽어 올 메시지 라인의 수를 입력하고, 실제로 읽어 온 메시지 라인의 수를 출력합니다.

예제

  • GET_LINE

  • GET_LINES

NEW_LINE

메시지 버퍼에 EOL 문자를 저장하는 프로시저입니다.

PUT 프로시저로 메시지를 저장한 경우 EOL 문자가 없으므로 라인 단위로 메시지를 읽는 GET_LINE, GET_LINES 프로시저로 문자열을 읽어 올 수 없습니다. 단, NEW_LINE 프로시저를 사용하면 GET_LINE, GET_LINES 프로시저로 문자열을 읽어 올 수 있습니다.

프로토타입

예제

PUT, PUT_LINE

메시지 버퍼에 메시지를 저장하는 프로시저입니다.

프로토타입

  • PUT PUT 프로시저는 하나의 라인을 여러 번에 걸쳐 저장할 수 있습니다. 버퍼에 저장되는 메시지의 마지막 라인 끝에 EOL 문자가 첨부되지 않습니다.

  • PUT_LINE PUT_LINE 프로시저는 PUT 프로시저와는 반대로 버퍼에 저장되는 메시지의 마지막 라인 끝에 EOL 문자를 첨부합니다. 만약 EOL 문자만을 저장하려면 NEW_LINE 프로시저를 호출합니다.

파라미터

파라미터
설명

data

메시지 버퍼에 저장할 메시지 데이터입니다.

예제

Last updated