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
