文档详情

关系数据库基本理论计算机软件技术基础教程教学.ppt

发布:2025-04-04约2.42万字共10页下载文档
文本预览下载声明

CLOSE?位置指针名?如果在一个SQL语句中只涉及一个记录的查询结果集,则不需要使用位置指针。在UPDATE语句和DELETE语句中引用位置指针时,通常使用一个WHERECURRENTOF?位置指针名?的子句来表明位置指针当前位置。相应的语句格式为DELETEFROM?表名?WHERECURRENTOF?位置指针名?UPDATE?表名?SET?域名1=表达式1[,域名2=表达式2]…?WHERECURRENTOF?位置指针名?下面举一个综合的例子来说明位置指针的设置和使用。[例17.39]从SC表中取学号为“19205”的学生所选的课程代号和成绩,并将其学号修改为“19301”。解:#includestdio.h“EXECSQLBEGINDECLARESECTION;charcno[6];chargrade[2];VARCHARuser[10];VARCHARpwd[10];EXECSQLINCLUDESQLCA;EXECSQLENDDECLARESECTION;01{printf(Inputusersname:);scanf(%s,user.arr);user.len=strlen(user.arr);printf(\nInputuserspassword:);scanf(%s,pwd.arr);main()02pwd.len=strlen(pwd,arr);EXECSQLCONNECT:userIDENTIFIEDBY:pwd;printf(connecteduser:%stosystem\n,user.arr);while(SQLCODE=0){EXECSQLDECLAREC1CURSORFORSELECTC#,GFROMSCWHERES#=19205FORUPDATEOFS#;1EXECSQLOPENC1;2EXECSQLFETCHC1INTO:cno,:grade;3EXECSQLUPDATESCSETS#=193014WHERECURRENTOFC1;5printf(\n(#=%s,G=%s,cno,grade);6EXECSQLCOMMITWORK;7}8}9[例17.17]检索各系选修C101课程学生的平均成绩。解: SELECTSD,AVG(G)FROMSTU,SCWHERESTU.S#=SC.S#ANDSC.C#=C101GROUPBYSD[例17.18]对所有学生按年龄分组,找出人数多于500的年龄组,并按年龄升序排列。解: SELECTSA,COUNT(*)FROMSTUGROUPBYSAHAVINGCOUNT(*)500ORDERBYSA[例17.19]在STU表中检索信息系王姓学生情况。解: SELECT*FROMSTUWHERESN=王%ANDSD=信息[例17.20]检索同时选修了C101和C201课程的学生学号。解: SELECTT1.S#FROMSCT1,SCT2 WHERET1.C#=C101ANDT2.C#=C201ANDT1.S#=T2.S

显示全部
相似文档