L'erreur fournie : "ERREUR : 42601 : une liste de définitions de colonnes est requise pour les fonctions renvoyant « enregistrement ». Cela se produit généralement lors de la création d'une fonction PostgreSQL qui tente pour renvoyer un enregistrement sans définir explicitement la structure des colonnes.
Pour résoudre cette erreur, utilisez la syntaxe RETURNS TABLE pour spécifier la structure des données étant renvoyé par la fonction. Voici un exemple :
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 $$ ...
Dans cet exemple, la fonction get_user_by_username renvoie une table avec trois colonnes : user_id, user_name et last_activity.
Vous pouvez également spécifier les colonnes spécifiques renvoyées par la fonction utilisant RETURNS SETOF comme suit :
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 $$ ...
Voici quelques considérations supplémentaires à garder à l'esprit :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!