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自定义函数内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!