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

完整导图

相关推荐
刘一说2 分钟前
Java中基于属性的访问控制(ABAC):实现动态、上下文感知的权限管理
java·网络·python
java1234_小锋2 分钟前
高频面试题:Java中如何安全地停止线程?
java·开发语言
虫小宝4 分钟前
淘宝返利软件的日志审计系统:Java Logback+ELK Stack实现操作日志的可追溯与可视化分析
java·elk·logback
铁蛋AI编程实战5 分钟前
Falcon-H1-Tiny 微型 LLM 部署指南:100M 参数也能做复杂推理,树莓派 / 手机都能跑
java·人工智能·python·智能手机
yangminlei5 分钟前
Spring Boot 4.0.1新特性概览
java·spring boot
C+-C资深大佬10 分钟前
C++多态
java·jvm·c++
WJX_KOI11 分钟前
保姆级教程:Apache Seatunnel CDC(standalone 模式)部署 MySQL CDC、PostgreSQL CDC 及使用方法
java·大数据·mysql·postgresql·big data·etl
柚子科技11 分钟前
毕业设计不用愁:一个免费的 SQL 转 ER 图在线工具,真香!
数据库·sql·毕业设计·课程设计·毕设
鸽芷咕13 分钟前
从 Query Mapping 到函数缓存,KingbaseES 高级 SQL 调优手段全揭秘
数据库·sql·缓存·金仓数据库
大鹏说大话14 分钟前
SQL Server 触发器实战全解:用对是利器,用错是灾难
数据库·sql·mysql