函数可以返回不同类型的数据,包括标量值、表和记录。具体返回哪种类型的数据取决于函数的定义和实现。
以下是几种常见的数据返回类型:
-
标量值
函数可以返回单个标量值,如整数、浮点数、字符串等。例如,以下函数返回一个整数:
-- 创建函数 CREATE FUNCTION get_max_age() RETURNS INTEGER AS $$ BEGIN RETURN 50; END; $$ LANGUAGE plpgsql; --方法调用 SELECT get_max_age();
可以通过调用该函数来获取返回的整数值:
-
表
函数可以返回一个表,即一组行和列。你可以在函数中使用
RETURNS TABLE
声明来指定返回的表结构,并使用RETURN QUERY
语句返回查询结果。例如,以下函数返回一个包含姓名和年龄的表:-- 创建返回值为表的函数 CREATE FUNCTION get_people() RETURNS TABLE (name TEXT, age INTEGER) AS $$ BEGIN RETURN QUERY SELECT name, age FROM people; END; $$ LANGUAGE plpgsql; -- 查询调用方法 SELECT * FROM get_people();
可以像查询表一样使用该函数:
-
记录
函数可以返回一个记录,它是一组字段的组合。你可以在函数的
RETURNS
子句中使用ROW
关键字声明返回的记录结构。以下是一个返回姓名和年龄的记录的示例:-- 创建返回记录的函数 CREATE FUNCTION get_person() RETURNS RECORD AS $$ DECLARE person RECORD; BEGIN SELECT name, age INTO person FROM people WHERE id = 1; RETURN person; END; $$ LANGUAGE plpgsql; -- 调用方法 SELECT * FROM get_person();
可以通过调用该函数来获取返回的记录:
这些只是 PostgreSQL 中函数返回数据的几种常见方式。函数的返回类型可以根据需求进行自定义,并且可以返回更复杂的数据结构,例如数组、JSON 或自定义类型。
更多消息资讯,请访问昂焱数据。