3.游标( Cursor) 为什么要使用游标 ■SQL语言与主语言具有不同数据处理方式 SQL语言是面向集合的,一条SQL语句原 则上可以产生或处理多条记录 An Introduction to Database System
An Introduction to Database System 3. 游标(cursor) ◼ 为什么要使用游标 ◼ SQL语言与主语言具有不同数据处理方式 ◼ SQL语言是面向集合的,一条SQL语句原 则上可以产生或处理多条记录
游标(续) 主语言是面向记录的,一组主变量一次 只能存放一条记录 ■仅使用主变量并不能完全满足SQL语句向应 用程序输出数据的要求 ■嵌入式SQL引入了游标的概念,用来协调这 两种不同的处理方式 An Introduction to Database System
An Introduction to Database System 游标(续) ◼ 主语言是面向记录的,一组主变量一次 只能存放一条记录 ◼ 仅使用主变量并不能完全满足SQL语句向应 用程序输出数据的要求 ◼ 嵌入式SQL引入了游标的概念,用来协调这 两种不同的处理方式
游标(续) 什么是游标 ■游标是系统为用户开设的一个数据缓冲区, 存放SQ语句的执行结果 ■每个游标区都有一个名字 ■用户可以用SQL语句逐一从游标中获取记录, 并赋给主变量,交由主语言进一步处理 An Introduction to Database System
An Introduction to Database System 游标(续) ◼ 什么是游标 ◼ 游标是系统为用户开设的一个数据缓冲区, 存放SQL语句的执行结果 ◼ 每个游标区都有一个名字 ◼ 用户可以用SQL语句逐一从游标中获取记录, 并赋给主变量,交由主语言进一步处理
嵌入式SQL语句与主语言之间的通信(续) 小结 n在嵌入式SQL中,SQL语句与主语言语句分 工非常明确 SQL语句:直接与数据库打交道 n主语言语句 1.控制程序流程 2.对SQ语句的执行结果做进一步 加工处理 An Introduction to Database System
An Introduction to Database System 嵌入式SQL语句与主语言之间的通信(续) ◼ 小结 ◼ 在嵌入式SQL中,SQL语句与主语言语句分 工非常明确 ◼ SQL语句:直接与数据库打交道 ◼ 主语言语句 1. 控制程序流程 2. 对SQL语句的执行结果做进一步 加工处理
嵌入式SQL语句与主语言之间的通信(续) SQL语句用主变量从主语言中接收执行参数, 操纵数据库 SQL语句的执行状态由DBMS送至 SQLCA中 ■主语言程序从 SQLCA中取出状态信息,据此 决定下一步操作 ■如果SQL语句从数据库中成功地检索出数据, 则通过主变量传给主语言做进一步处理 SQL语言和主语言的不同数据处理方式通过 游标来协调 An Introduction to Database System
An Introduction to Database System 嵌入式SQL语句与主语言之间的通信(续) ◼ SQL语句用主变量从主语言中接收执行参数, 操纵数据库 ◼ SQL语句的执行状态由DBMS送至SQLCA中 ◼ 主语言程序从SQLCA中取出状态信息,据此 决定下一步操作 ◼ 如果SQL语句从数据库中成功地检索出数据, 则通过主变量传给主语言做进一步处理 ◼ SQL语言和主语言的不同数据处理方式通过 游标来协调