PG Sql-存储过程编写

本文介绍了如何在PG SQL中创建和使用存储过程,包括无参数和有参数的存储过程,特别是详细阐述了处理异常的方法,为数据库操作提供更强大的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PG SQL-自定义存储过程

1.无参存储过程:

CREATE OR REPLACE FUNCTION funName()
  RETURNS "pg_catalog"."void" AS $BODY$
DECLARE
	pro1 type;-- pro1为自定义变量名,type为变量类型,可以是integer,varchar,record。
	···
BEGIN
	pro1 :=XXX;-- 在存储过程中给变量赋值,不要直接等于,格式是冒号+等号,即“:=”
	-- To Do Something...
	
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100

2.有参存储过程:

CREATE OR REPLACE FUNCTION funName(column1 int4,column2 varchar, column3 _int4,column4 _varchar)
  RETURNS "pg_catalog"."void" AS $BODY$
DECLARE
	pro1 type;-- pro1为自定义变量名,type为变量类型,可以是integer,varchar,record。
	···
BEGIN
	pro1 :=XXX;-- 在存储过程中给变量赋值,不要直接等于,格式是冒号+等号,即“:=”
	-- To Do Something...
	
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100

入参可以是int4,varchar,也可以传数组类型参数,如:_int4(整数数组),_varchar(字符数组);

3.在存储过程中处理异常:

CREATE OR REPLACE FUNCTION funName()
  RETURNS "pg_catalog"."void" AS $BODY$
DECLARE
	pro1 type;-- pro1为自定义变量名,type为变量类型,可以是integer,varchar,record。
	···
BEGIN
	pro1 :=XXX;-- 在存储过程中给变量赋值,不要直接等于,格式是冒号+等号,即“:=”
	-- To Do Something...

EXCEPTION
	WHEN others THEN
	-- To Do Something...
	RAISE EXCEPTION '(%)', sqlerrm; -- 打印错误信息。sqlerrm是一个可以直接调用的变量,是异常信息;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值