支持嵌入式SQL预处理器(ECPG)

可获得性

本特性自openGauss 3.1.0 版本开始引入。

特性简介

支持C语言中嵌入式SQL程序。

客户价值

可以相对容易地将为其他SQL数据库编写的嵌入式SQL程序移植到openGauss,保证用户业务快速迁移。

特性描述

嵌入式SQL程序由一种普通编程语言编写的代码(在这里是C)和位于特殊标记的小节中的SQL命令混合组成。要构建该程序,源代码(.pgc)首先会通过嵌入式SQL预处理器,它会将源代码转换成一个普通C程序(.c),并且后来它能够被一个C编译器所处理。转换过的 ECPG 应用会通过嵌入式 SQL 库(ecpglib)调用libpq库中的函数,并且与openGauss服务器使用普通的前端/后端协议通信。 嵌入式SQL在为 C 代码处理SQL命令方面比起其他方法来具有优势。

  1. 它处理了C程序中变量之间冗长的信息传递;
  2. 其次,程序中的SQL代码在编译时就会被检查以保证语法正确性;
  3. 在C语言中嵌入的SQL是在SQL标准中指定的并且受到很多其他SQL数据库系统的支持。

特性增强

无。

特性约束

ECPG支持大部分的openGauss SQL语法,但由于目前ECPG的语法和词法不支持对匿名块和Package语句的处理,因此匿名块和创建Package语句无法作为嵌入式SQL使用。

依赖关系

无。