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

完整导图

相关推荐
m0_74825093几秒前
Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
java·spring boot·后端
mua码1 小时前
二十三种设计模式
java·设计模式
飞3001 小时前
腾讯集团软件开发-后台开发方向内推
java·mysql·业界资讯
码熔burning3 小时前
(十 五)趣学设计模式 之 命令模式!
java·设计模式·命令模式
暴怒的代码3 小时前
云原生监控篇——全链路可观测性与AIOps实战
数据库·sql·mysql
计算机-秋大田6 小时前
基于Spring Boot的乡村养老服务管理系统设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·课程设计
盖盖衍上6 小时前
Java 泛型(Generics)详解与使用
java·开发语言·windows
没有十八岁7 小时前
云创智城YunCharge 新能源二轮、四轮充电解决方案(云快充、万马爱充、中电联、OCPP1.6J等多个私有单车、汽车充电协议)之新能源充电行业系统说明书
java·数据库·spring·汽车
小萌新上大分8 小时前
Minio搭建并在SpringBoot中使用完成用户头像的上传
java·spring boot·后端·minio·minio搭建·头像上传·minio入门
pitt19978 小时前
Redis 高可用性:如何让你的缓存一直在线,稳定运行?
redis·redis集群·哨兵·redis主从·redis高可用