当前位置: 首页 > news >正文

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 $$DECLAREFUNCTION inner_function()RETURNS void AS $$-- 内部函数代码$$ LANGUAGE plpgsql;BEGIN-- 外部函数代码inner_function();END;$$ LANGUAGE plpgsql;

递归函数

	CREATE FUNCTION recursive_function(arg)RETURNS type AS $$BEGINIF condition THENRETURN arg;ELSERETURN 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;
http://www.dtcms.com/a/168897.html

相关文章:

  • 特殊运算符详解:身份运算符、成员运算符与三目运算符
  • Ghost-Downloader-3开源下载软件,使用 Python 构建的跨平台 Fluent-Design AI-boost 多线程下载器
  • 使用mybatis实例类和MySQL表的字段不一致怎么办
  • 文件操作--文件下载读取漏洞
  • Fedora升级Google Chrome出现GPG check FAILED问题解决办法
  • 【Linux】关于虚拟机
  • 【AI提示词】奥卡姆剃刀思维模型专家
  • Semantic Kernel 快速入门
  • 神州趣味地名-基于天地图和LeafLet的趣味地名探索
  • C++ 的 lambda 表达式
  • 自制qrcode二维码生成扫码美化
  • 第6篇:EggJS数据库操作与ORM实践
  • 组件通信-props
  • BLE协议栈的解析
  • 4.3 random模块
  • 中小企业MES系统详细设计
  • 低代码/AI是否会取代前端开发?
  • 倒排索引与数据库索引
  • 小刚说C语言刷题—1018三角形类别
  • [预备知识]5. 优化理论(一)
  • Linux 库文件详解
  • 文章六:《循环神经网络(RNN)与自然语言处理》
  • 云盘系统设计
  • EMC PowerStore存储学习之一NVMe磁盘的命名规则
  • 预订接口优化:使用本地消息表保证订单生成、库存扣减的一致性
  • 程序员转行酒店用品客户经理
  • MySQL 中的游标(Cursor)
  • [计算机科学#8]:指令与程序的奥秘
  • c语言的常用关键字
  • WebRtc11:SDP详解