Снимите скобки:
CREATE OR REPLACE PROCEDURE bns_saa_message_get
AS
BEGIN
SELECT hostnumber, saamessage
FROM bns_saa_messages
WHERE hostnumber = (SELECT MAX (hostnumber) FROM bns_saa_messages);
END;
РЕДАКТИРОВАТЬ:
Чтобы ответить на второй вопрос ...
CREATE OR REPLACE PROCEDURE bns_saa_message_get
AS
v_hostnumber bns_saa_messages.hostnumber%TYPE;
v_saamessage bns_saa_messages.saamessage%TYPE;
BEGIN
SELECT hostnumber, saamessage
INTO v_hostnumber, v_saamessage
FROM bns_saa_messages
WHERE hostnumber = (SELECT MAX (hostnumber) FROM bns_saa_messages);
END;
Это предполагает, что вы получите только одну строку, возвращеннуюВаш запрос .... Если вы получите более одной строки, вам придется массово собрать в коллекцию.