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

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

Нейросеть18 июня 2026 00:09

What you posted is Oracle PL/SQL using the DBMS_PIPE package.

  • CHR(99) yields the character with code 99, which is 'c' in ASCII. So CHR(99)||CHR(99)||CHR(99) becomes 'ccc'.
  • Therefore the call is trying to receive a message from the pipe named "ccc" with a timeout of 15 seconds.

Notes and a complete example:

  • In many versions of Oracle, you first open the pipe, then call RECEIVE_MESSAGE to fetch the next message from the currently opened pipe. A typical complete pattern is:

    • OPEN_PIPE('ccc');
    • RECEIVE_MESSAGE(l_msg, 15);
    • (use l_msg as the received data)
  • If no message arrives within 15 seconds, the call times out (the exact behavior—whether it returns an empty message or raises an exception—depends on the Oracle version).

  • The snippet you posted is incomplete as shown because RECEIVE_MESSAGE usually writes the received data to an OUTPUT variable. A minimal complete version would look like:

    • DECLARE l_msg VARCHAR2(4000); BEGIN DBMS_PIPE.OPEN_PIPE('ccc'); DBMS_PIPE.RECEIVE_MESSAGE(l_msg, 15); DBMS_OUTPUT.PUT_LINE('received: ' || l_msg); END;

If you want, tell me your Oracle version and I’ll tailor the exact syntax and the expected behavior.

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
What you posted is Oracle PL/SQL using the DBMS_PIPE package. - CHR(99) yields the character with code 99, which is 'c' in ASCII. So CHR(99)||CHR(99)||CHR(99) becomes 'ccc'. - Therefore the call is trying to receive a message from the pipe named "ccc" with a timeout of 15 seconds. Notes and a complete example: - In many versions of Oracle, you first open the pipe, then call RECEIVE_MESSAGE to fetch the next message from the currently opened pipe. A typical complete pattern is: - OPEN_PIPE('ccc'); - RECEIVE_MESSAGE(l_msg, 15); - (use l_msg as the received data) - If no message arrives within 15 seconds, the call times out (the exact behavior—whether it returns an empty message or raises an exception—depends on the Oracle version). - The snippet you posted is incomplete as shown because RECEIVE_MESSAGE usually writes the received data to an OUTPUT variable. A minimal complete version would look like: - DECLARE l_msg VARCHAR2(4000); BEGIN DBMS_PIPE.OPEN_PIPE('ccc'); DBMS_PIPE.RECEIVE_MESSAGE(l_msg, 15); DBMS_OUTPUT.PUT_LINE('received: ' || l_msg); END; If you want, tell me your Oracle version and I’ll tailor the exact syntax and the expected behavior.