postgresql函数

转载 2016年05月31日 10:13:27

来自:http://www.yiibai.com/html/postgresql/2013/080784.html

PostgreSQL的函数也被称为存储过程,可执行操作,通常会作为一些查询和往返在一个单一的数据库内的函数。函数允许数据库重新使用其他应用程序可以直接与您的存储过程而不是一个中间层或复制代码。

可以创建在所选择的语言,如SQL,PL/pgSQL,C,Python等功能 yiibai.com

语法

创建一个函数的基本语法如下:

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

Where,

  • function-name specifies the name of the function. www.yiibai.com

  • [OR REPLACE] option allows modifying an existing function.

  • The function must contain a return statement.

  • RETURN clause specifies that data type you are going to return from the function. Thereturn_datatype can be a base, composite, or domain type, or can reference the type of a table column.

  • function-body contains the executable part.

  • The AS keyword is used for creating a standalone function.

  • plpgsql is the name of the language that the function is implemented in. Here we use this option for PostgreSQL, it Can be SQL, C, internal, or the name of a user-defined procedural language. For backward compatibility, the name can be enclosed by single quotes.

语法

The following example illustrates creating and calling a standalone function. This function returns the total number of records in the COMPANY table. We will use the COMPANY table, which has following records:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)
  

Function totalRecords() is as follows:

CREATE OR REPLACE FUNCTION totalRecords ()
RETURNS integer AS $total$
declare
	total integer;
BEGIN
   SELECT count(*) into total FROM COMPANY;
   RETURN total;
END;
$total$ LANGUAGE plpgsql; www.yiibai.com 

When the above query is executed the result would be:

testdb# CREATE FUNCTION
  

Now let's execute a call to this function and check the records in the COMPANY table

testdb=# select totalRecords();  

When the above query is executed the result would be: www.yiibai.com

 totalrecords
--------------
            7
(1 row) www

PostgreSQL之函数和操作符

一、逻辑操作符:     常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。 二、比较操作符:     下面是PostgreSQL中提供的比较操作...
  • lzy_168
  • lzy_168
  • 2016年11月16日 16:38
  • 2620

自己整理的PostgreSQL 函数

自己整理的PostgreSQL 函数
  • u011558122
  • u011558122
  • 2016年08月12日 15:23
  • 442

用第三方语言编写PostgreSQL 存储函数

用第三方语言编写PostgreSQL的具体用例。
  • yueliangdao0608
  • yueliangdao0608
  • 2014年05月12日 18:20
  • 1958

postgresql常用技术(一、函数运算符)

1.数学运算符 运算符 描述 例子 结果 + 加 2 + 3 5 - ...
  • lihaiyong92
  • lihaiyong92
  • 2017年06月07日 16:06
  • 447

【PostgreSQL-9.6.3】函数(1)--数值型函数

函数表示对输入参数返回一个特殊计算结果的值。PostgreSQL中的函数种类比较丰富,主要分为以下几类:数学函数、字符串函数、日期和时间函数、条件判断函数、系统函数、加密函数以及其他函数。这篇文章只介...
  • NextAction
  • NextAction
  • 2017年05月26日 07:51
  • 683

PostgreSql对空间数据的操作函数

GIS开发对数据的操作,主要是对空间数据的操作。PostgreSql提供了一些处理空间数据的函数,操作起来是比较方便的。下面就记录一下,最近做项目里面用到的一些,也是比较常用的。 空间数据 ...
  • u013038861
  • u013038861
  • 2016年12月18日 21:52
  • 1253

PostgreSql函数和操作符一之时间函数

PostgreSql常用的时间函数 1. 时间间隔age函数 函数描述:计算两个日期之间相隔多少天,单个参数时表示与当前日期(current_date)相比 参数:age(timesta...
  • chuan_day
  • chuan_day
  • 2015年04月15日 14:09
  • 4030

postgresql常用函数及操作符及类型转换等

一、逻辑操作符:常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。 二、比较操作符:下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 ‘’ ...
  • sun5769675
  • sun5769675
  • 2016年02月03日 13:14
  • 5527

PostgreSql聚合函数二---聚合函数,分析函数和窗口函数

PostgreSql的窗口函数使用 文档中涉及的表的结构和数据: 1. 表emp_detail: create table emp_detail(  empno integer,  enam...
  • chuan_day
  • chuan_day
  • 2015年04月01日 11:26
  • 3759

postgresql中自定义函数脚本的备份及恢复

【转自 housonglin1213 的博客】http://blog.csdn.net/housonglin1213/article/details/510055401、自定义函数脚本备份CREATE...
  • fm0517
  • fm0517
  • 2016年03月29日 15:51
  • 1562
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:postgresql函数
举报原因:
原因补充:

(最多只允许输入30个字)