嵌入式SQL
时间:2021-07-01 10:21:17
帮助过:5人阅读
主变量声明:
exec sql begin declare section;
char vSname[10], specName[10]=“张三”; int vSage;
exec sql end declare section;
指示变量(IndicatorVariable):主变量附带一个整型变量, 用于“指示”所指主变量的值或条件
例如:
exec sql select sno into :id indicator :indic
from student where sage > 25;
if (indic = = -1) //指示变量
{ printf(“The id is null”); }
else
{......}
例如:
if(...) gradeid=-1;
exec sql insert into SC(Sno, Cno, Grade) values (:stdno, :couno, :gr:gradeid);
注意:不能在搜索条件中使用<:主变量:指示变量>这种形式
- 游标
系统为结果记录集开设一个数据缓存区,游标是指向数据缓存区的指针,通过指针的移动,逐一从缓存区获取记录,赋给主变量
游标的定义:
exec sql declare <游标名> cursor for
<SQL语句>;
例如:
exec sql declare cur_student cursor for
select Sno, Sname, Sclass from Student where Sclass= :vClass order by Sno
打开游标
exec sql open <游标名>;
读取元组
exec sql fetch <游标名> into :主变量1, :主变量2......;
关闭游标
exec sql close <游标名>;
例如:
exec sql declare cur_student cursor for
select Sno, Sname, Sclass from Student where Sclass=‘035101’ ;
exec sql open cur_student;
exec sql fetch cur_student into :vSno, :vSname, :vSclass;
.....
exec sql close cur_student;
- SQL结果的提交与撤销
结果的提交:
exec sql commit work;
结果的撤销:
exec sql rollback work;
嵌入式SQL
标签: