PostgreSQL创建函数

语法

CREATE [OR REPLACE] FUNCTION function_name (params) 
RETURNS return_datatype 
 AS $BODY$
  DECLARE  
    declaration;  
    [...]  
  BEGIN  
    <function_body>  
    [...]  
    RETURN {variable_name | variable_type}  
 END; $BODY$ 
LANGUAGE plpgsql;

参数说明

  • function_name:创建函数的名称。
  • [OR REPLACE]:可选的,允许修改或替换现有函数。
  • RETURN:指定要从函数返回的数据类型。可以是基础数据类型,复合或域类型,或者也可以引用表列的类型。
  • function_body:函数体可执行部分。
  • plpgsql:指定实现该函数的语言的名称。

创建一个获取当前时间的函数

CREATE OR REPLACE FUNCTION getdate() 
RETURNS varchar 
 AS $BODY$
  DECLARE  
		result_current_date varchar;
  BEGIN  
     select to_char(now(),'yyyy-mm-dd hh24:mi:ss') into result_current_date;
    RETURN result_current_date;
 END; $BODY$ 
LANGUAGE plpgsql;

创建一个带参数的函数

CREATE OR REPLACE FUNCTION paramdemo(str varchar) 
RETURNS varchar 
 AS $BODY$
  DECLARE  
		result_str varchar;
  BEGIN 
		result_str := '测试带参的函数';
    RETURN result_str || ':' || str;
 END; $BODY$ 
LANGUAGE plpgsql;

创建一个返回自定义字段表函数

CREATE OR REPLACE FUNCTION gettesttable()
  RETURNS table(vid int, vname varchar, vage int, vphone varchar) AS $BODY$
  DECLARE  
		result_str varchar;
  BEGIN 
		vid := 1000;
		vname := '张三';
		vage := 22;
		vphone := '12345678912';
		return next;
		
		vid := 1001;
		vname := '李四';
		vage := 23;
		vphone := '12345678912';
		return next;
 END; $BODY$
 LANGUAGE plpgsql 

查询自定义表函数
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值