PL/pgSQL从入门到放弃(4.1)-函数返回常用数据类型——组合数据类型

本文由 @小刘先森 原创,转载请注明出处。

PL/pgSQL系列文章,方便小伙伴们学习。

PL/pgSQL从入门到放弃(1)-入门
PL/pgSQL从入门到放弃(2)-变量定义与数据类型
PL/pgSQL从入门到放弃(3)-函数
PL/pgSQL从入门到放弃(4.1)-函数返回常用数据类型——组合数据类型
PL/pgSQL从入门到放弃(4.2)-函数返回常用数据类型——行数据类型
PL/pgSQL从入门到放弃(4.3)-函数返回常用数据类型——记录数据类型
PL/pgSQL从入门到放弃(4.4)-函数返回常用数据类型——复制数据类型
PL/pgSQL从入门到放弃(5)-条件语句与循环语句
PL/pgSQL从入门到放弃(6)-游标


返回基本数据类型,例如intvarcharjsonjsonb这些数据类型在函数返回以及使用的过程中没有什么特殊性,但是在写函数过程中会有返回行记录的需求,这几篇文章主要介绍如何返回rowtyperecord组合数据类型复制数据类型

组合数据类型

组合数据类型就是将多个数据类型组合为一个数据类型,然后可以用于函数返回中,例如写一个函数模拟HTTP请求返回结果,即同时返回status和body(status int, body varchar)。这时可以使用组合数据类型类返回,示例如下:

  • 创建组合数据类型
create type http_result as (
	http_status int,
	body        varchar
)
-- drop TYPE if EXISTS http_result 
  • 函数示例
create or replace function http(param int) returns http_result as $$
	declare
		code   int;
		msg    varchar;
	begin
		if param < 100 then
			code = 200;
			msg = '请求成功';
			
		else
			code = 500;
			msg = '请求失败';
		end if;
		return (code, msg);
	end;
$$ language plpgsql;
  • 函数运行
    成功结果
    失败结果

由于该函数的返回结果依赖于数据类型,想删除该数据类型前需要先删除函数

下一篇介绍返回行数据类型

关于作者

大家有需要介绍哪些部分,或者一些想法欢迎联系我。

GISer
QQ: 1016817543
邮箱:[email protected]
github:https://github.com/MrSmallLiu (欢迎star)

相关链接

以下为本人参与开发的一些库,欢迎各位Star、Issues、PR

发布了11 篇原创文章 · 获赞 3 · 访问量 3574

猜你喜欢

转载自blog.csdn.net/qq_35241223/article/details/105054959