VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

PL/pgSQL

概念

PL/pgSQL是一种程序语言,叫作过程化SQL语言。

PL/pgSQL是结合了结构化查询与数据库自身过程控制为一体的强大语言,不但支持更多的数据类型,拥有自身的变量声明、赋值语句,而且还有条件、循环等流程控制语句。过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包。

本章介绍的PL/pgSQL程序包括:

优势

  • 支持SQL

    SQL是访问数据库的标准语言,通过SQL命令,用户可以操纵数据库中的数据。PL/pgSQL支持所有的SQL数据操纵命令、游标控制命令、事务控制命令、SQL函数、运算符和伪列。同时PL/pgSQL和SQL语言紧密集成,PL/pgSQL支持所有的SQL数据类型和NULL值。

  • 支持面向对象编程

    PL/pgSQL支持面向对象的编程,在PL/pgSQL中可以创建类型,可以对类型进行继承,可以在子程序中重载方法等。

  • 更好的性能

    SQL是非过程语言,只能一条一条执行,而PL/pgSQL把一个PL/pgSQL块统一进行编译后执行,同时还可以把编译好的PL/pgSQL块存储起来,以备重用,减少了应用程序和服务器之间的通信时间,PL/pgSQL是快速而高效的。

  • 可移植性

    使用PL/pgSQL编写的应用程序,可以移植到任何操作系统平台上的Oracle服务器,同时还可以编写可移植程序库,在不同环境中重用。

  • 安全性

    可以通过存储过程对客户机和服务器之间的应用程序逻辑进行分隔,这样可以限制对Oracle数据库的访问,数据库还可以授权和撤销其他用户访问的能力。

PL/pgSQL块

PL/pgSQL是一种块结构的语言,一个PL/pgSQL程序包含了一个或者多个逻辑块,逻辑块中可以声明变量,变量在使用之前必须先声明。除了正常的执行程序外,PL/pgSQL还提供了专门的异常处理部分进行异常处理。