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的一条语句就会产生多条记录,而主语言是面向记录的,一组主变量只能存放一条记录。通过游标指针,可以决定获取哪条记录。

完整导图

相关推荐
ch.ju2 分钟前
Java Programming Chapter 3——Dynamic acquisition of array
java·开发语言
XS0301065 分钟前
Java Web实现简易CRUD操作笔记
java·前端·笔记
StarRocks_labs9 分钟前
KaptureCX 大规模实时分析架构演进:基于 RisingWave 与 StarRocks 的最佳实践
starrocks·sql·clickhouse·ai赋能·kapture
夕除10 分钟前
spring boot 4
java·spring boot·后端
三产15 分钟前
Hermes 教程 03:Skills 系统
android·java·数据库
starsky7623816 分钟前
spring boot——前后端分离
java·spring boot·后端
jiayong2316 分钟前
IDEA 中进行分支双向同步操作指南
java·ide·intellij-idea
AI玫瑰助手16 分钟前
Python流程控制:for循环遍历字符串列表字典
android·java·python
java修仙传17 分钟前
Java 实习日志:一次报价规则适配、列表规则精简与导入校验修复
java·实习
萨小耶18 分钟前
[Java学习日记07】聊聊接口和抽象类
java·开发语言·学习