基本语法
//建一个名字为function_name的自定义函数 create or replace function function_name() returns data_type as //returns 返回一个data_type数据类型的结果;data_type 是返回的字段的类型; $$ //固定写法 ......//方法体 $$ language sql; //固定写法 ------------------------------- create or replace function function_name(args) returns return_type as $$ declare -- 变量声明 begin -- 函数体 return result; end; $$ language plpgsql;
创建函数
create or replace function add(integer,integer) returns integer as $$ select $1 + $2; $$ language sql;
运行结果
调用结果
函数嵌套
create function outer_function() returns void as $$ declare function inner_function() returns void as $$ -- 内部函数代码 $$ language plpgsql; begin -- 外部函数代码 inner_function(); end; $$ language plpgsql;
递归函数
create function recursive_function(arg) returns type as $$ begin if condition then return arg; else return recursive_function(arg + 1); end if; end; $$ language plpgsql;
删除函数
- 使用
drop function
语句来删除一个或多个函数
drop function function_name(args);
- 如果函数不存在,使用
if exists
选项不报错
drop function if exists function_name(args);
- 级联删除
如果其他对象(如视图或触发器)依赖于该函数,可以使用 cascade 选项来级联删除这些依赖对象
drop function function_name(args) cascade;
到此这篇关于postgresql自定义函数的使用的文章就介绍到这了,更多相关postgresql自定义函数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论