|   [请选择科目]

VIP:有效提升20分!  真题  历年真题 (可免费开通)/  百科全书/ 机考模拟平台/  最难真题榜/  自测/  攻打黄金十二宫/  真题检索/  真题下载/  真题词库
知识   必会知识榜/  最难知识榜/  知识点查询/      文档   学习计划/  精华笔记/  试题文档     纸质图书   《百科全书》HOT!!/         /        首页/  2025年上半年专区/  手机版/ 
免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2014年上半年 数据库系统工程师 上午试卷 综合知识
  第53题      
  知识点:   嵌入式SQL
  章/节:   数据库标准语言—SQL       

 
嵌入式SQL中,若查询结果为多条记录时,将查询结果交予主语言处理时, 应使用的机制是(52),引入(53)来解决主语言无空值的问题。
 
 
  A.  主变量
 
  B.  游标
 
  C.  SQLCA
 
  D.  指示变量
 
 
 

 
  第50题    2010年上半年  
   60%
嵌入式SQL中通过(49)实现主语言与SQL语句间进行参数传递;SQL语句的执行状态通过(50)传递给主语言来进行流程控制;对于返回结果..
  第54题    2009年上半年  
   64%
设有职工关系 Emp (Eno,Ename,Esex, EDno)和部门关系Dept (Dno,Dname,Daddr),创建这两个关系的SQL语句如下:

直接运..
  第43题    2011年上半年  
   60%
某医院管理系统部分关系模式为:科室(科室号,科室名,负责人,电话)、病患(病历号,姓名,住址,联系电话)和职工(职工号,..
   知识点讲解    
   · 嵌入式SQL
 
       嵌入式SQL
                      SQL与宿主语言接口
                      SQL提供了将SQL语句嵌入某种高级语言中的使用方式,但是如何识别嵌入在高级语言中的SQL语句,通常采用预编译的方法。该方法的关键问题是必须区分主语言中嵌入的SQL语句,以及主语言和SQL间的通信问题。采用的方法由DBMS的预处理程序对源程序进行扫描,识别出SQL语句,把它们转换为主语言调用语句,以使主语言编译程序能识别它,最后由主语言的编译程序将整个源程序编译成目标码。
                      可见将SQL嵌入主语言使用时应当注意如下问题。
                             区分主语言语句与SQL语句
                             为了区分主语言语句与SQL语句,需要在所有的SQL语句前加前缀EXEC SQL,而SQL的结束标志随主语言的不同而不同。
                             例如,PL/1和C语言的引用格式为:EXEC SQL
                             又如,COBOL语言的引用格式为:EXEC SQLEND-EXEC。
                             主语言工作单元与数据库工作单元通信
                                    SQL通信区
                                    SQL通信区(SQL Communication Area,SQLCA)向主语言传递SQL语句执行的状态信息,使主语言能够根据此信息控制程序流程。
                                    主变量
                                    主变量也称共享变量。主语言向SQL语句提供参数主要通过主变量,主变量由主语言的程序定义,并用SQL的DECLARE语句说明。例如在C语言中可用如下形式说明主变量:
                                    
                                    上面五行组成一个说明节,说明了五个共享变量,其中,SQLSTATE是一个特殊的共享变量,起着解释SQL语句执行状况的作用。当SQL语句执行成功时,系统自动给SQLSTATE赋上全零值,否则为非全零(“02000”)。因此,当执行一条SQL语句后,可以根据SQLSTATE的值转向不同的分支,以控制程序的流向。引用时,为了与SQL属性名相区别,需在主变量前加“:”。
                                    从上例中可以看出,VALUES子句中通常可使用主变量传递输入数据。
                                    游标
                                    SQL语言是面向集合的,一条SQL语句可产生或处理多条记录。而主语言是面向记录的,一组主变量一次只能放一条记录,所以,引入游标,通过移动游标指针来决定获取哪一条记录。与游标相关的SQL语句有四条:
                                    (1)定义游标,格式如下:
                                    
                                    这是一条说明性语句,定义中的SELECT语句并不立即执行。
                                    (2)打开游标,格式如下:
                                    
                                    该语句执行游标定义中的SELECT语句,同时游标处于活动状况。游标是一个指针,此时指向查询结果的第一行之前。
                                    (3)推进游标,格式如下:
                                    
                                    该语句使用时,游标推进一行,并把游标指向的行(称为当前行)中的值取出,送到共享变量中。变量表由用逗号分开的共享变量组成。该语句常置于宿主语言程序的循环结构中,并借助宿主语言的处理语句逐一处理查询结果中的一个元组。
                                    (4)关闭游标,格式如下:
                                    
                                    该语句关闭游标,使它不再和查询结果相联系。关闭了的游标,可以再次打开,与新的查询结果相联系。在游标处于活动状态时,可以修改和删除游标指向的元组。
                      动态SQL
                      SQL的动态SQL组件允许程序在运行时构造、提交SQL查询。与此相反,嵌入式SQL语句必须在编译时完全确定,由预处理程序预编译和宿主语言编译程序编译。也就是说,在实际使用时,源程序往往不能包括用户的所有操作,用户对数据库的操作有时往往在实际运行时才提出请求,为此需要采用SQL的动态技术。动态SQL有如下两条语句。
                                    动态SQL预备语句格式
                                    
                                    此处共享变量或字符串应该是一个完整的SQL语句。这个SQL语句可以在程序运行时由用户输入才组合起来,但并不执行。
                                    动态SQL执行语句格式
                                    
                                    使用动态SQL语句时,还可以改进技术:当预备语句组合而成的SQL语句只需执行一次,那么预备语句可以在程序运行时由用户输入才组合起来,但并不执行。
   题号导航      2014年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第53题    在手机中做本题
    在线人数   共计 5500人 在线 
    xyq_262430..     jiguang50@..     hewenhui12..     plsco@163...     pujerry@12..     lin2033353..
    george_tu...     zhangwodee..     chenhui248..     eadchris20..     xk@cimr.co..     guyeli2518..
    h_wenjie@1..     bes80@163...     rody290282..     ddchen311@..     alyssa196@..     sdjese@163..
    5442627_fs..     yangfan135..     714801218@..     lixiaoting..     583565532@..     xuefeng197..
    mayantang2..     cw_jun2@si..     jingang198..     tlwjjzy@si..     xuehenan2@..     j86361022@..
    zhangxiaol..     wuxuexin37..     lingxiao02..     254626042@..     matadorzp@..     haiyang322..
    526463472@..     416759@163..     f2392694@s..     897546326@..     heweiping2..     xhjcwj@126..

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。



京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2025 All Rights Reserved 软考在线版权所有