可获得性
本特性自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命令方面比起其他方法来具有优势。
- 它处理了C程序中变量之间冗长的信息传递;
- 其次,程序中的SQL代码在编译时就会被检查以保证语法正确性;
- 在C语言中嵌入的SQL是在SQL标准中指定的并且受到很多其他SQL数据库系统的支持。
特性增强
无。
特性约束
ECPG支持大部分的openGauss SQL语法,但由于目前ECPG的语法和词法不支持对匿名块和Package语句的处理,因此匿名块和创建Package语句无法作为嵌入式SQL使用。
依赖关系
无。