PL/pgSQL之入门

PL/pgSQL介绍

plpgsql入门,介绍使用它有哪些优势以及一个HelloWorld。git

PL/pgSQL是一种用于PostgreSQL数据库系统的可载入的过程语言。github

  • 能够被用来建立函数和触发器过程
  • 对SQL语言增长控制结构
  • 能够执行复杂计算
  • 继承全部用户定义类型、函数和操做符
  • 能够被定义为受服务器信任
  • 便于使用

优势sql

  • 客户端和服务器之间的额外往返通讯被消除
  • 客户端不须要的中间结果没必要被整理或者在服务器和客户端之间传送
  • 多轮的查询解析能够被避免
    与不使用存储函数的应用相比,这可以致使可观的性能提高。

PL/pgSQL 的 HelloWorld数据库

函数的结构:服务器

CREATE FUNCTION somefunc(integer, text) RETURNS integer
AS 'function body text'
LANGUAGE plpgsql;

在开发过程当中不关心函数是否存在,能够使用 CREATE OR REPLACE Function来建立函数。函数

PL/pgSQL是一种块结构的语言。一个块被定义为:性能

[ <<label>> ]
[ DECLARE
    declarations 
BEGIN
    statements
END [ label ];

真正的HelloWorldspa

CREATE FUNCTION helloworld() RETURNS varchar AS $$
<< outerblock >>
DECLARE
    name varchar := 'unknown';
BEGIN
    RAISE NOTICE 'My Name is %', name ;  -- Prints (My Name is unknown)
    name := 'plpgsql';
    --
    -- 建立一个子块
    --
    DECLARE
        name varchar := 'interblock';
    BEGIN
        RAISE NOTICE 'My Name is %', name;  -- Prints (My Name is interblock)
        RAISE NOTICE 'My Name is %', outerblock.name;  -- Prints (My Name is unknown)
    END;
    RAISE NOTICE 'My Name is %', name;  -- Prints (My Name is plpgsql)
    RETURN name;
END;
$$ LANGUAGE plpgsql;

执行code

将以上语句复制在Navicat或者PgAdmin等数据库客户端执行,便可建立helloworld函数。blog

以上看到执行helloworld函数后输出信息以及结果,结果为plpgsql。

以上为本篇的入门介绍,欢迎各位批评指正。

关于做者

你们有须要介绍哪些部分,或者一些想法欢迎联系我。

GISer
QQ: 1016817543
邮箱:1016817543@qq.com
github:https://github.com/MrSmallLiu (欢迎star)

刘航,国信司南(北京)地理信息技术有限公司,技术经理。负责过多个基于 PostgreSQL 数据库以及 PostGIS 的大中型项目。公司矢量切片产品(基于 PostgreSQL 数据库)研发核心人员。

相关文章
相关标签/搜索