6.6.6 嵌入式SQL

文章目录

2个核心问题

SQL语句嵌入高级语言需要解决的2个核心问题是:如何识别嵌入语句?如何让主语言(比如C,C++语言)和SQL通信?

识别SQL语句

为了识别主语言中嵌入的SQL语句,会在SQL语句前加EXEC SQL,结尾添加什么,与SQL嵌入的主语言有关。如果嵌入PL/1或者C语言,结尾用';'。如果嵌入COBOL语言,结尾用END-EXEC。示例中是在C语言中嵌入SQL。

主语言和SQL通信

主语言与SQL通信有3种方式

  1. SQL通信区:向主语言传递SQL语句执行状态信息,使主语言根据此信息控制程序流程。
  2. 主变量:也叫共享变量,主语言通过主变量向SQL提供参数,主变量前加':',用于和SQL的属性名区分。如例子中的given_sno, Mname, Mage, Msex都是主变量。
  3. 游标:由于SQL语言是面向集合的,SQL的一条语句就会产生多条记录,而主语言是面向记录的,一组主变量只能存放一条记录。通过游标指针,可以决定获取哪条记录。

完整导图

相关推荐
飞梦工作室1 天前
企业级 Spring Boot 邮件系统开发指南:从基础到高可用架构设计
java·spring boot·后端
haiyu柠檬1 天前
在Spring Boot中实现Azure的SSO+VUE3前端配置
java·spring boot·后端
百***81271 天前
【SpringBoot】SpringBoot中分页插件(PageHelper)的使用
java·spring boot·后端
百***86461 天前
SpringBoot中自定义Starter
java·spring boot·后端
q***07141 天前
VScode 开发 Springboot 程序
java·spring boot·后端
q***46521 天前
Spring中使用Async进行异步功能开发实战-以大文件上传为例
java·后端·spring
q***38511 天前
SpringCloud实战【九】 SpringCloud服务间调用
java·spring boot·spring cloud
岚天start1 天前
K8S环境中Containerd运行时占用文件定位清理
java·rpc·kubernetes
2501_916766541 天前
解决idea依赖导入不成功的问题
java·intellij-idea
头发还在的女程序员1 天前
基于JAVA语言的短剧小程序-抖音短剧小程序
java·开发语言·小程序