记录类型

437
2023/08/01 16:51:03

本章我们讨论 PostgreSQL 的记录类型,它和行类型相似,也可以存储数据库中的整行信息。

简介

PostgreSQL 提供了一种名为 RECORD 的类型,它和行类型相似。语法如下:

变量名.字段

RECORD 并不是真正的数据类型,它只是一个占位符。当重新给 RECORD 变量赋值时,可以更改它的结构。

示例

下面的示例演示了 RECORD 变量如何与 SELECT INTO 语句一起使用:

do $$
declare
	rec record;
begin
	-- 选择电影
	select film_id, title, length 
	into rec
	from film
	where film_id = 200;
	
	raise notice '% % %', rec.film_id, rec.title, rec.length;   
end $$;

下面的示例演示了如何在 FOR LOOP 中使用 RECORD 变量:

do $$
declare
	rec record;
begin
	for rec in select title, length 
			from film 
			where length > 50
			order by length
	loop
		raise notice '% (%)', rec.title, rec.length;	
	end loop;
end $$;