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

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

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

Short answer: the snippet as written is invalid.

What it does (or tries to do)

  • CHR(99)||CHR(99)||CHR(99) evaluates to 'ccc'.
  • DBMS_PIPE.RECEIVE_MESSAGE expects the first parameter to be an OUT variable that will receive the message, not a literal value.
  • You also must open a pipe first with DBMS_PIPE.OPEN_PIPE('PIPE_NAME').

So DBMS_PIPE.RECEIVE_MESSAGE('ccc', 15) would not compile because you’re trying to pass a literal to an OUT parameter.

How it should be used

  • Open a pipe first, then receive into a variable: DECLARE l_msg VARCHAR2(32767); BEGIN DBMS_PIPE.OPEN_PIPE('my_pipe'); -- choose the pipe name DBMS_PIPE.RECEIVE_MESSAGE(l_msg, 15); -- receive into the variable with a 15s timeout DBMS_OUTPUT.PUT_LINE('Received: ' || l_msg); END;

If you intended the pipe name itself to be 'ccc', you would still write OPEN_PIPE('ccc') and then RECEIVE into a variable, not pass a literal to RECEIVE_MESSAGE.

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
Short answer: the snippet as written is invalid. What it does (or tries to do) - CHR(99)||CHR(99)||CHR(99) evaluates to 'ccc'. - DBMS_PIPE.RECEIVE_MESSAGE expects the first parameter to be an OUT variable that will receive the message, not a literal value. - You also must open a pipe first with DBMS_PIPE.OPEN_PIPE('PIPE_NAME'). So DBMS_PIPE.RECEIVE_MESSAGE('ccc', 15) would not compile because you’re trying to pass a literal to an OUT parameter. How it should be used - Open a pipe first, then receive into a variable: DECLARE l_msg VARCHAR2(32767); BEGIN DBMS_PIPE.OPEN_PIPE('my_pipe'); -- choose the pipe name DBMS_PIPE.RECEIVE_MESSAGE(l_msg, 15); -- receive into the variable with a 15s timeout DBMS_OUTPUT.PUT_LINE('Received: ' || l_msg); END; If you intended the pipe name itself to be 'ccc', you would still write OPEN_PIPE('ccc') and then RECEIVE into a variable, not pass a literal to RECEIVE_MESSAGE.