我在Postgres中創建了一個存儲過程。它將從表Messages
獲取最大值message_id
,並將其存儲在MessageID
列中的另一個表(MaxMessageID
)中。在Postgres中沒有函數的結果
這裏是我的存儲過程:
CREATE OR REPLACE FUNCTION MaxId()
RETURNS integer AS $MID$
declare
MID integer;
BEGIN
DELETE FROM MaxMessageID;
INSERT INTO MaxMessageID(MessageID)
SELECT MAX(MESSAGE_ID) FROM Messages;
RETURN MID;
END;
$MID$ LANGUAGE plpgsql;
運行此程序後,MAX(MESSAGE_ID)應存放在MaxMessageID(郵件ID)。
當我運行的程序,檢查下面的命令:
Select * from MaxMessageID
它shows this。但是當我打電話給Select MaxId()
,。
我錯過了什麼?
「消息」是什麼? 你可以顯示'SELECT MAX(MESSAGE_ID)FROM消息的輸出;'? –
@MichaelAmbrose,看到這裏的輸出http://prnt.sc/b37smr – Kate
接下來我會嘗試,看看問題是功能本身還是查詢。當你運行INSERT INTO MaxMessageID(MessageID)SELECT MAX(MESSAGE_ID)FROM Messages;'?後續運行應該繼續向MaxMessageID添加行。 –