ESQL数据库.ppt

上传人:夺命阿水 文档编号:241881 上传时间:2023-03-16 格式:PPT 页数:27 大小:702.50KB
返回 下载 相关 举报
ESQL数据库.ppt_第1页
第1页 / 共27页
ESQL数据库.ppt_第2页
第2页 / 共27页
ESQL数据库.ppt_第3页
第3页 / 共27页
ESQL数据库.ppt_第4页
第4页 / 共27页
ESQL数据库.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《ESQL数据库.ppt》由会员分享,可在线阅读,更多相关《ESQL数据库.ppt(27页珍藏版)》请在课桌文档上搜索。

1、使用ESQL编写一个按学号查询成绩的程序。输出格式模版:,学生成绩明细表,平均成绩:75分,数据库系统概论An Introduction to Database System第八章 数据库编程,Java,C/C+/C#,SQL*plus,网络TCP/IP,DBS的Client/Server结构,DBMS,DB,PL/SQL,Python,DBServer,问题的提出:,已知教学数据库TDB包含学生表S,试编写一个按系别查询学生信息的程序。输出格式模版:,系学生信息表,在S表中查询该系别对应的成绩信息。,算法:,按输出格式显示每个学生的信息。,高级语言的工作,数据库的工作,1)输入系别。,结论:

2、解决实际业务问题只用SQL语言或只用高级语言是远远不够的,必须SQL语言与高级语言一起使用才能够高效地解决之。,完整的解决方案:过程化语言和SQL语言混合编程,1)高级语言负责提供程序控制流程,即:顺序、分支和循环,以及对变量的处理,2)SQL语言负责提供从数据库中存取信息功能 select、update、delete、grant、,目前,过程化语言和SQL语言混合编程的方法:,1)嵌入式SQL:ESQL(Embedded SQL),2)PL/SQL(Procedural Language/SQL),4)ODBC(Open DataBase Connectivity),3)JDBC(Java

3、DataBase Connectivity),5)OLEDB(Object Linking and Embedding DB),8.1 嵌入式SQL(ESQL),8.1.1 嵌入式SQL程序实例,编写应用程序,实现查询某学生的姓名和年龄,并按照下面的格式输出。的年龄是:*岁,3)在S表中查询该学号对应的姓名和年龄,并将其值分别放到相应的变量中。,2)输入学号,存储在变量中。,4)按输出格式显示变量的值,,算法:,1)应用程序与数据库连接,5)断开应用程序与数据库的连接,高级语言的工作,数据库的工作,即该学生的名字和年龄。,程序代码,8.1.2 ESQL的几个重要概念,1、ESQL?嵌入到高级语

4、言中的SQL,2、宿主语言(主语言):被嵌入的高级语言 如C、C+、Java等。,语法是 EXEC SQL;例如:EXEC SQL select sname,age into:vsn,:vage from student where sno=1002;,ESQL的几个重要概念(续),3、主变量(Host variable)SQL语句中使用的主语言程序变量。,(1)主变量必须在begin declare section与 end declare section之间进行说明。,(2)在SQL语句中使用主变量,须在变量前 加冒号(:)。,ESQL的几个重要概念(续),(3)主变量应用举例,begin

5、 declare section char v_sn10;int v_age;char givensno6;end declare section,EXEC SQL select sname,age into:v_sn,:v_age from student where sno=:givensno;,主变量说明,主变量引用,ESQL的几个重要概念(续),4、建立和关闭数据库(以Oracle为例),(1)建立与数据库的连接 exec sql connect:system identified by:1234 using:mydb;,(2)关闭与数据库连接 exec sql disconnect

6、mydb;,8.1.3嵌入式SQL程序实现方法,编写应用程序,实现查询某学生的姓名和年龄,并按照下面的格式输出。的年龄是:*岁,3)在S表中查询该学号对应的姓名和年龄,并将其值分别放到相应的变量中。,2)输入学号,存储在变量中。,4)按输出格式显示变量的值,,算法:,1)应用程序与数据库连接。,5)断开应用程序与数据库的连接,高级语言的工作,数据库的工作,即该学生的名字和年龄。,程序源代码,8.1.4 游标(Cursor)及其应用,EXEC SQL select sname,age into:v_sn,:v_age from student where sno=10201;,EXEC SQL

7、select sname,age into:v_sn,:v_age from student where dept=计算机系;,考察以下两个ESQL语句的合理性?,游标及其应用(续),一、游标的概念,1、游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。,3、游标的作用:可以通过游标逐一获取记录,并赋给主变量,交给主语言进一步处理。,2、每个游标区都有一个名字。,二、使用游标的SQL语句,使用游标的步骤1.说明游标(declare)2.打开游标(open)3.推进游标指针并取当前记录(fetch)4.关闭游标(close),1.说明游标,语句格式EXEC SQL DECLARE

8、CURSOR FOR;功能 是一条说明性语句,这时DBMS并不执行 SELECT指定的查询操作。,2.打开游标,语句格式 EXEC SQL OPEN;,这时游标处于活动状态,指针指向查询结果集中第一条记录。,功能执行相应的SELECT语句,把所有满足查询条件的记录从指定表取到缓冲区中。,3.推进游标指针并取当前记录,语句格式 EXEC SQL FETCH FROM INTO;,功能,指针下移一行。,将当前行的记录数据取出,依次给 主变量赋值。,4.关闭游标,语句格式 EXEC SQL CLOSE;功能关闭游标 释放结果集占用的缓冲区及其他资源。,已知教学数据库TDB包含学生表S,试编写一个按系别查询学生信息的程序。输出格式模版:,系学生信息表,三、游标应用,嵌入式SQL的处理过程(续),二、处理过程演示,C+ESQL源程序,VC+6.0,.exe,C源程序,Pro*C,SQL函数库,高级语言与DBMS通信,主语言环境 过程控制 I/O处理,DBMS环境 数据定义 数据操纵 数据控制,主变量,SQL语句,OracleDB2等,C,JavaAsp等,高级语言与DBMS通信,主语言环境 过程控制 I/O处理,DBMS环境 数据定义 数据操纵 数据控制,主变量,SQL语句,SQLCA,C,JavaAsp等,OracleDB2等,下课了。,休息一会儿。,追求,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号