PG数据库 (ECPG - C中的嵌入式SQL)

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

嵌入式SQL在为C代码处理SQL命令方面比起其他方法具有优势。首先,它会搞定向你的C程序变量传递或读取信息时的繁文缛节。其次,程序中的SQL代码在编译时就会被检查以保证语法正确性。第三,C中的嵌入式SQL是在SQL标准中指定的并且受到很多其他SQL数据库系统的支持。

为嵌入式SQL接口编写的程序是插入了用于执行数据库相关动作的特殊代码的普通的 C 程序。这种特殊代码总是具有这样的形式:

EXEC SQL …;
这些语句在语法上取代了一个 C 语句。取决于特定的语句,它们可以出现在全局层面或者是一个函数中。嵌入式 SQL语句遵循普通SQL代码的大小写敏感性规则, 而不是 C 的大小写敏感性规则。它们也允许嵌套的 C 风格注释(SQL 标准的一部分)。 不过,程序的 C 部分遵循 C 的标准不接受嵌套注释。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值