满足SQL语句向应用程序输出数据的要求嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式游标什么是游标游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果每个游标区都有一个名字用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理四、建立和关闭数据库连接嵌入式SQL程序要访问数据库必须先连接数据库。RDBMS根据用户信息对连接请求进行合法性验证,只有通过了身份验证,才能建立一个可用的合法连接。四、建立和关闭数据库连接1、建立数据库连接EXECSQLCONNECTTOtargetASco
ectio
ameUSERuser
ameTarget是要连接的数据库服务器,co
ectio
ame是可选的连接名,连接必须是一个有效的标识符,主要用来识别一个程序内同时建立的多个连接,如果在整个程序内只有一个连接也可以不指定连接名。
f四、建立和关闭数据库连接2、关闭数据库连接当某个连接上的所有数据库操作完成后,应用程序应该主动释放所占用的连接资源。EXECSQLDISCONNECTco
ectio
Co
ectio
是所建立的数据库连接。例1依次检查某个系的学生记录交互式更新某些学生年龄。EXECSQLBEGINDECLARESECTIONChardept
ame20CharHS
o9CharHS
ame20CharHSex2例题例题i
tHSagei
tNEWAGEEXECSQLENDDECLARESECTIONLo
gSQLCODEEXECSQLINCLUDEsqlca例题i
tmai
voidi
tcou
t0chary
pri
tf“Pleasechoosethedepartme
t
ameCSMAIS”sca
f“s”dept
ame例题EXECSQLCONNECTTOTESTlocalhost54321USER“SYSTEM””MANAGER”EXECSQLDECLARESXCURSORFORSELECTS
oS
ameSsexSageFROMStude
tWHERESDeptdept
ameEXECSQLOPENSXForEXECSQLFETCHSXINTOHS
oHS
ameHSsexHSage例题ifsqlcasqlcode0Breakifcou
t0Pri
tf“
10s20s10s10s
””S
o””S
ame””Ssex””Sage”Pri
tf“10s20s10s10d
”HS
oHS
ameHSsexHSage例题pri
tf“UPDATEAGEy
”dosca
f“c”y
whiley
‘N’y
‘
’y
‘Y’y
‘y’
f例题ify
‘y’y
‘Y’pri
t“INPUTNEWAGE”sca
f“d”NEWAGEEXECSQLUPDATEStude
tSETSageNEWAGEWHERECURRENTOFSX例题EXECSQLCLOSESXEXECSQLCOMMITWORKEXECSQLDISCONNECTTEST81嵌入式SQL811嵌入式SQL的处理过程812嵌入式SQL语句与主语言之间的通信813不用游标的SQL语句814使用游标的SQL语句815动态SQL813不用游标的SQL语句不用游标的SQL语句的种类说明性语句数据定义语句数据控制语句查询结果为单记录的SELECT语句非CURRENT形式的增删改语句一、查询结果为单记录的SELECT语句语句格式EXECSQLr