当前位置: 首页 > news >正文

postgresql函数创建

postgresql的函数创建

1.创建函数的基本语法:

CREATE [OR REPLACE] FUNCTION function_name(parameter_list) 
RETURNS return_type AS $$ 
BEGIN -- 函数体 
END; 
$$ LANGUAGE language_name;

2.创建函数时传入参数示例:add_user

tbl_user表
| id | username | password | createat |

创建add_user函数并传入username,password,返回result,userid和createat

CREATE [OR REPLACE] FUNCTION add_user(IN username VARCHAR(30),IN password VARCHAR(30))
RETURNS TABLE(result BOOLEAN,userid INT,createat TIMESTAMP 
) AS $$
BEGINBEGIN-- 插入新用户记录,返回id和create_at--自动生成的id和create_at会被插入到myuserid和INSERT INTO tbl_user(username,password) VALUES (username,password) RETURNING id,create_at INTO myuserid,mycreateat; mycreateat中--函数执行成功时的查询结果RETURN QUERY SELECT true,myuserid,mycreateat;EXCEPTIONWHEN OTHERS THEN--函数执行失败时的查询结果RETURN QUERY SELECT FALSE, NULL, NULL;END;
END;
$$ LANGUAGE plpgsql

3.获取整个用户列表示例: get_all_users

CREATE [OR REPLACE] FUNCTION get_all_users()
RETURNS SETOF tbl_user AS $$
BEGINRETURN QUERY SELECT * FROM tbl_user;
END;
$$ LANGUAGE plpgsql

注意:

  • RETURNS TABLE() 可以设置返回记录的结构,并且可以返回多条记录

  • RETURNS SETOF 可以返回多条记录,但是不能自定义返回记录的结构

4.条件判断

IF语句

IF condition THEN -- 当条件为真时执行的语句 statement1; 
ELSE -- 当条件为假时执行的语句 statement2; 
END IF;

IF ELSEIF 语句

IF condition1 THEN statement1; 
ELSE IF contition2 THENstatement2; 
ELSEstatement3; 
END IF;

5.异常处理

BEGIN--需要进行异常判断的部分
EXCEPTION
WHEN OTHERS THEN--异常时执行的部分
END;
http://www.lryc.cn/news/513525.html

相关文章:

  • ECMAScript 变量
  • CAN总线波形中最后一位电平偏高或ACK电平偏高问题分析
  • 【C++】22___STL常用算法
  • 意静明和-十成
  • easyui textbox使用placeholder无效
  • flux中的缓存
  • 代码重定位详解
  • 活动预告 | Microsoft 365 在线技术公开课:让组织针对 Microsoft Copilot 做好准备
  • 从0到机器视觉工程师(一):机器视觉工业相机总结
  • Docker安装(Docker Engine安装)
  • 数组的深度监听deep
  • 点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定(升级版)
  • UniApp 性能优化策略
  • 【Linux报告】实训六 重置超级用户密码
  • smolagents:一个用于构建代理的简单库
  • 通过Dockerfile来实现项目可以指定读取不同环境的yml包
  • 云手机 —— 手机矩阵的 “超级外挂
  • OpenCV的TickMeter计时类
  • 蓝桥杯JAVA刷题--001
  • 免费又开源:企业级物联网平台的新选择 ThingsPanel
  • 鸿蒙开发:文本合成语音
  • 雷军:科技传奇的逐梦之旅
  • LeetCode - 初级算法 数组(删除排序数组中的重复项)
  • 2024年度培训运维总结
  • java重装小结
  • ubuntu20.04 中文输入法安装
  • SQL常用语句(基础)大全
  • 计算和可视化相对湿度结果
  • uniapp-vue3(下)
  • 一起学习Firtran: Fortran中的流程控制与操作符