今天(2021年12月31日),我在12.26号无意间在朋友圈看到了Gauss松鼠会发的海报,于是看这个教程。进行了学习及考试,由于这几天太忙,现在把做的作业文章补上,12.26号下午和晚上都在做这个作业,大概22:00终于完成了实验的每日章节练习,并完成了考试,推荐给了一个朋友一起学习,一起测试,在共同努力下,考取了100分的好成绩,总体感觉这个课程还是很不错的,初步渐入的学习openGauss数据库,并且在12.30号还有活动直播:openGauss与PostgreSQL核心技术解读及优势对比"
章节练习一共21天,下面是第15天的作业内容。
15、学习openGauss定义存储过程和函数
1.创建带有入参和出参的函数1,调用函数时使用按参数值传递和命名标记法传参
CREATE FUNCTION func_add_sql(num1 integer, num2 integer) RETURN integer
AS
BEGIN
RETURN num1 + num2;
END;
/
参数值传递
CALL func_add_sql(1, 3);
命名标记法传参
CALL func_add_sql(num1 => 1,num2 => 3);
CALL func_add_sql(num2 := 2, num1 := 3);
=========================
2.创建返回类型为record的函数2,重命名函数2
CREATE OR REPLACE FUNCTION func_increment_sql1(i int, out result_1 bigint, out result_2
bigint)
returns SETOF RECORD
as $$
begin
result_1 = i + 1;
result_2 = i * 10;
return next;
end;
$$language plpgsql;
call func_increment_sql1(1, 0, 0);
ALTER FUNCTION func_increment_sql1 (integer) RENAME TO func_increment_sql2;
=========================
3.使用\sf和系统函数查看函数定义
\sf func_add_sql
select * from pg_proc where proname = 'func_add_sql';
=========================
4.删除函数
Drop function func_add_sql;
Drop function func_increment_sql2;
=========================