Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3622814
А
Аноним
18 июня 2026 10:50 · публичный вопрос
А
Аноним

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

Ответ нейросети
18 июня 2026 10:50

Short answer:

  • It’s using Oracle’s DBMS_PIPE to receive a message from a pipe named 'ccc' with a 15-second timeout. CHR(99)||CHR(99)||CHR(99) renders to 'ccc'. The call will wait up to 15 seconds for a message to arrive on that pipe.

Notes and typical usage:

  • Pipe name: 'ccc' (because CHR(99) is the ASCII for 'c').
  • Timeout: 15 seconds.
  • What happens: If a message is available on pipe 'ccc' within 15 seconds, the message is returned in the OUT variable of RECEIVE_MESSAGE. If no message arrives in that time, a timeout occurs (usually NO_DATA_FOUND is raised, though behavior can depend on Oracle version).

Example (proper full usage):

  • Create the pipe (once per session/database as appropriate): DBMS_PIPE.CREATE_PIPE('ccc', 32767);

  • Receive a message (with an OUT variable): DECLARE l_msg VARCHAR2(32767); BEGIN DBMS_PIPE.RECEIVE_MESSAGE('ccc', l_msg, 15); DBMS_OUTPUT.PUT_LINE('Received: ' || l_msg); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('Timeout waiting for message on pipe ccc.'); END;

  • Send a message (for completeness): BEGIN DBMS_PIPE.SEND_MESSAGE('ccc', 'Hello world'); END;

If you’re preparing for an exam, remember:

  • The pipe name is 'ccc' (constructed from CHR(99)).
  • The second parameter in your snippet (15) is the timeout in seconds.
  • The typical outcome on timeout is an exception (NO_DATA_FOUND), unless your environment handles it differently.