本文由 @小刘先森 原创,转载请注明出处。
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)-游标
返回基本数据类型,例如int
、varchar
、json
、jsonb
这些数据类型在函数返回以及使用的过程中没有什么特殊性,但是在写函数过程中会有返回行记录的需求,这几篇文章主要介绍如何返回rowtype
、record
、组合数据类型
、复制数据类型
。
组合数据类型
组合数据类型就是将多个数据类型组合为一个数据类型,然后可以用于函数返回中,例如写一个函数模拟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