目录
第1关:创建存储过程
任务描述
本关任务:创建一个新的存储过程并调用这个存储过程。
相关知识
存储过程商业规则和业务逻辑可以通过程序存储在openGauss中,这个程序就是存储过程。存储过程是SQL和PL/SQL的组合。存储过程使执行商业规则的代码可以从应用程序中移动到数据库。 1)存储过程(Stored Procedure),是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行。 2)存储过程(procedure),概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。在封装的语句体里面,可以使用if/else ,case,while等控制结构,可以进行sql编程。
语法格式
•创建存储过程
CREATE PROCEDURE procedure_name
[ ( {[ argname ] [ argmode ] argtype [ = expression ]}[,...]) ]
{ IS | AS }
BRGIN
procedure_body
END
/
•调用存储过程
CALL procedure_name ( param_expr );
•删除存储过程
DROP PROCEDURE procedure_name ;
参数说明
•procedure_name 创建的存储过程名称。
•argname 参数的名称。
•argmode 参数的模式。取值范围: IN,OUT,INOUT或VARIADIC。VARIADIC用于声明数组类型的参数。缺省值是IN。
◦IN 输入参数。表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回。
◦OUT 输出参数。该值可在存储过程内部被改变,并可返回
◦INOUT 输入输出参数。调用时指定,并且可被改变和返回
•argtype 参数的数据类型。
•expression 设定缺省值。
•IS、AS 语法格式要求,必须写其中一个。两个相同。
•BEGIN、END 语法格式要求,必须写。
•procedure_body 存储过程内容。
•param_expr 参数列表。参数间用符号“,”隔开;参数名和参数值用符号 “:=”或者“=>”隔开。
示例
--创建表格
<