数据库基础概论__嵌入式SQL语言之基本技巧

嵌入式SQL语言结合了高级语言的灵活性和SQL的非过程性,使得复杂数据库操作变得可能。文章探讨了如何解决在高级语言中使用SQL的问题,包括连接与断开数据库、变量传递、SQL执行、事务管理和游标操作。同时介绍了事务的ACID特性以及游标的使用场景和生命周期,强调了状态捕获和处理在嵌入式SQL程序中的重要性。
摘要由CSDN通过智能技术生成

(1)嵌入式SQL语言的引入

交互式SQL语言有很多优点:

1.记录集合操作

2.非过程性:指出要做什么,而不做出怎么做

3.一条语句就可以实现复杂查询。

交互式SQL语句缺陷:

1.SQL对普通用户不方面,只是对编程人员方便

2.SQL对复杂的检索操作难以用一条语句完成,这个时候需要结合高级语言的分支判断操作。

嵌入式SQL语言 = 高级语言+ SQL语言

嵌入式SQL语言:将SQL语言嵌入到一种高级语言中,这种高级语言,被称之为宿主语言。

既继承了高级语言的过程性、有结合SQL语言复杂结果操作的非过程性、同时又为数据库操作者提供安全的操作方式:通过应用程序操作。嵌入式SQL语言更加灵活。

--以C语言为例:
exec sql select sname into :v sname ,:v sage from student where sname =”张三”;
--注:exec sql 引导sql语句:提供给编译器,以便对SQL语句编译成C编译器可以识别的程序
--Into语句: 该子句用于指出接受SQL语言检索结果的程序变量
--由冒号引导的程序变量: 将值赋给程序中的变量。

(2)高级语言中使用SQL语言需要解决的问题

问题1:如何和数据库连接和断开连接

问题2:如何将宿主程序的变量传递给SQL语句

问题3SQL语言如何执行

问题4:如何将SQL检索的结果传递给宿主程序进行处理

问题5 静态SQLSQL语句中的常量变为变量

问题6:宿主程序如何知道SQL语句是否执行成功。

问题7:动态SQL,依据条件动态构造SQL语句,但是欲访问的表名和字段名对编程者是已知的。

问题8:动态SQL,依据条件动态构造SQL语句,但是欲访问的表名和字段名对编程者是未知的。

 

(3) 程序与数据库的连接与断开

--在嵌入式SQL执行之前,首先要进行数据库的连接 不同的DBMS 具体连接语句略有差异。
--SQL标准中的建议语法:
            exec sql connect to target-server as connect-name user user-name
--或者
            exec sql con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值