记录类型

195
2023/08/01 16:51:03

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

简介

和行类型一样,它能保存整行记录;不同之处在于,它没有预定义的结构,它的结果是在 SELECTFOR 语句为它赋值时才确定。

同样的,可以使用 . 来访问其中的字段:

变量名.字段

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

示例

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

下面的示例演示了如何在 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 $$;