提供的錯誤:「錯誤:42601:傳回「記錄」的函數需要列定義清單「通常發生在建立嘗試傳回的PostgreSQL 函數時未明確定義列結構的記錄。
要解決此錯誤,請使用 RETURNS TABLE 語法指定傳回資料的結構通過函數。以下是範例:
CREATE OR REPLACE FUNCTION get_user_by_username( username VARCHAR(250), online BOOLEAN ) RETURNS TABLE ( user_id INTEGER, user_name VARCHAR(250), last_activity TIMESTAMP ) AS $$ ...
在此範例中,get_user_by_username 函數傳回一個包含三列的資料表:user_id、user_name 和 last_activity。
或者,您可以指定特定的列使用RETURNS SETOF 的函數傳回如下:
CREATE OR REPLACE FUNCTION get_user_by_username( username VARCHAR(250), online BOOLEAN ) RETURNS SETOF ( user_id INTEGER, user_name VARCHAR(250), last_activity TIMESTAMP ) AS $$ ...
以下是一些需要記住的其他注意事項:
以上是為什麼 PostgreSQL 會拋出錯誤 42601:「傳回「記錄」的函數需要列定義清單」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!