脚本网 > 数据库 > PostgreSQL > PostgreSQL自定义函数的使用

PostgreSQL自定义函数的使用

admin PostgreSQL

基本语法

	//建一个名字为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自定义函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!