openGauss学习笔记-44 openGauss 高级数据管理-存储过程44.1 语法格式44.2 参数说明44.3 示例
openGauss学习笔记-44 openGauss 高级数据管理-存储过程
存储过程是能够完成特定功能的SQL语句集。用户可以进行反复调用,从而减少SQL语句的重复编写数量,提高工作效率。
44.1 语法格式
创建存储过程
CREATE PROCEDURE procedure_name
[ ( {[ argname ] [ argmode ] argtype [ = expression ]}[,...]) ]
{ IS | AS }
BRGIN
procedure_body
END
/调用存储过程
CALL procedure_name ( param_expr );
删除存储过程
DROP PROCEDURE procedure_name ;
44.2 参数说明
procedure_name
创建的存储过程名称。
argname
参数的名称。
argmode
参数的模式。取值范围: IN,OUT,INOUT或VARIADIC。VARIADIC用于声明数组类型的参数。缺省值是IN。
IN
输入参数。表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回。
OUT
输出参数。该值可在存储过程内部被改变,并可返回。
INOUT
输入输出参数。调用时指定,并且可被改变和返回。
argtype
参数的数据类型。
expression
设定缺省值。
IS、AS
语法格式要求,必须写其中一个。两个相同。
BRGIN、END
语法格式要求,必须写。
procedure_body
存储过程内容。
param_expr
参数列表。参数间用符号“,”隔开;参数名和参数值用符号 “:=”或者“=>”隔开。
44.3 示例
--创建表格
openGauss=# CREATE TABLE graderecord
(
number INTEGER,
name CHAR(20),
class CHAR(20),
grade INTEGER
);
--定义存储过程
openGauss=# CREATE PROCEDURE insert_data (param1 INT = 0, param2 CHAR(20),param3 CHAR(20),param4 INT = 0 )
IS
BEGIN
INSERT INTO graderecord VALUES(param1,param2,param3,param4);
END;
/
--调用存储过程
openGauss=# CALL insert_data(param1:=210101,param2:='Alan',param3:='21.01',param4:=92);
--删除存储过程
openGauss=# DROP PROCEDURE insert_data;
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!

最后修改时间:2023-12-11 21:44:57
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




