友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第167章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






     SELECT M。INDIVIDUAL_NAME; M。ADDRESS; M。CITY; M。STATE; M。ZIP_CODE; 



                   S。SEX;  S。MARITAL_STATUS;  S。SALARY 



     FROM  MAILING_TBL  M;    INDIVIDUAL_STAT_TBL  S 



     WHERE M。NAME LIKE 'SMITH%' 



       AND M。CITY = 'INDIANAPOLIS' 



       AND S。SEX = 'MALE' 



       AND S。SALARY 》= 30000 



       AND S。MARITAL_STATUS = 'S' 



       AND M。INDIVIDUAL_ID = S。INDIVIDUAL_ID; 



答    根据统计信息           你的新查询应该与下边的答案相像  NAME                         与’SMITH%’是最严格的 



条件     因为它返回的行数最少 



                                                                                           558 


…………………………………………………………Page 559……………………………………………………………

SQL 21  日自学通(V1。0)                                              翻译人    笨猪 



SELECT M。INDIVIDUAL_NAME; M。ADDRESS; M。CITY; M。STATE; M。ZIP_CODE; 



                                      S。SEX;  S。MARITAL_STATUS;  S。SALARY 



FROM MAILING_TBL M; 



                          INDIVIDUAL_STAT_TBL  S 



WHERE M。INDIVIDUAL_ID = S。INDIVIDUAL_ID 



            AND  S。MARITAL_STATUS  =  'S' 



            AND  S。SEX  =  'MALE' 



            AND  S。SALARY  》=  30000 



            AND  M。CITY  =  'INDIANAPOLIS' 



            AND  M。NAME  LIKE  'SMITH%'; 



第 16 天       用视图从数据字典中获得信息 



问题答案 



    5   在 ORACLE 中  你如何才能知道哪些表和视图是为你所有的 



     用 SELECT  FROM  USER_CATALOG  或 CAT    在数据字典中对象的名字根据解释器 



   的不同而不同  但是所有的版本在关于像表和视图这的的对象的基本信息是相同的 



    6   在数据字典中存储有哪些信息 



     数据库的设计       用户的统计       过程  对象     对象的增长情况        性能统计      存储 SQL 



   代码以及数据库安全信息 



    7   你如何才能进行性能统计 



     对性能的统计给出的建议的方法通过修改数据库的参数和流化 SQL  来提高数据库的 



   性能   也可能是用用索引的方法来使结果更有效 



    8   数据库对象都有哪些 



     表  索引    同义字  簇     视图 



练习答案 



    假设你管理了一个中小型的数据库系统                 你的职责是开发和管理数据库             某人向表中 



                                                                       559 


…………………………………………………………Page 560……………………………………………………………

SQL 21  日自学通(V1。0)                                      翻译人  笨猪 



插入了大量的数据并收到了一个空间不足的错误信息                你必须断定问题产生的原因          是对 



该用户配额的表空间增加还是你需要增加为表空间分配的磁盘空间                    要一步一步地列出你 



需要从数据字典中得到的信息— — 不必给出具体的表和视图的名称 



  1  查找在你的数据库文档中的错误 



  2  在数据字典中查询关于表的信息  它的当前大小  用户的表空间配额  表空间的分配 



  3  确定用户要完成插入操作需要多少空间 



  4  哪一个是真正的问题  是用户的表空间配额需要增加还是需要分配更多的表空间 



  5  如果用户的配额不足  那么增加配额          如果是当前的表空间满了  你需要为当前表分 



    配更多的表空间 



  6  你也可能既不增加表空间配额也不增加表空间             这时你不得不删除一些旧的数据或将 



    一些数据归档到磁带上 



这些步骤不是必需的       你的工作要根据你公司的政策和你个人的素质来决定 



第 17 天     使用 SQL 来生成 SQL 语句 



问题答案 



   10     你生成 SQL 的来源有哪两个 



     你可以从数据库的表和数据字典中生成脚本 



   11     下边的 SQL 语句是否可以工作       它会输出什么 



       SQL》 SET ECHO OFF 



       SQL》 SET FEEDBACK OFF 



       SQL》 SPOOL CNT。SQL 



       SQL》 SELECT 'COUNT(*) FROM  ' || TABLE_NAME || ';' 



      2    FROM  CAT 



      3  / 



        该语句将会生成一个脚本         但是生成的脚本不会工作         你需要在 count(*)之前 



      使用 SELECT   SELECT 



        SELECT 'SELECT COUNT(*) FROM ' || TABLE_NAME || ';' 



       否则你的输出将会如下 



                                                             560 


…………………………………………………………Page 561……………………………………………………………

SQL 21  日自学通(V1。0)                                                翻译人    笨猪 



          COUNT(*) FROM TABLE_NAME; 



        这不是有效的 SQL 语句 



    12      下边的 SQL 语句是否可以工作           它会输出什么 



           SQL》 SET ECHO OFF 



           SQL》 SET FEEDBACK OFF 



           SQL》 SPOOL GRANT。SQL 



           SQL》 SELECT 'GRANT CONNECT DBA TO ' || USERNAME || ';' 



           2    FROM  SYS。DBA_USERS 



           3  WHERE USERNAME NOT IN ('SYS';'SYSTEM';'SCOTT') 



        4  / 



          回答仍是  是也不是          该语句将会生成 SQL 脚本  但是由于生成的 SQL 语句 



        不完整  你需要在 CONNECT 和 DBA 之间加入逗号 



        SELECT 'GRANT CONNECT; DBA TO ' || USERNAME || ';' 



    13      下边的 SQL 语句是否可以工作           它会输出什么 



           SQL》 SET ECHO OFF 



           SQL》 SET FEEDBACK OFF 



           SQL》 SELECT 'GRANT CONNECT; DBA TO ' || USERNAME || ';' 



           2    FROM  SYS。DBA_USERS 



           3  WHERE USERNAME NOT IN ('SYS';'SYSTEM';'SCOTT) 



        5  / 



          该语句是正确的  生成的 SQL 语句将会给所有的用户以 CONNECT  和 DBA 权 



        限 



    14      在运行生成的 SQL 时最为将 FEEDBACK 设置为 ON               对不对 



      不对    如果你不关心有多少行被选出时可以把它关闭  它不是你要生成的 SQL 语句 



    的一部分 



    15      从 SQL 中生成 SQL 语句时       必须将输入的结果重新定向到一个列表或 LOG 文件 



       中  对不对 



      不对  你应该重新定向到一个 SQL 文件中或任何你所命名的文件中 



    16      在生成 SQL 语句用以对表的内容进行删减时                 你必须先确认自己已经对所要删减 



                                                                          561 


…………………………………………………………Page 562……………………………………………………………

SQL 21  日自学通(V1。0)                                                       翻译人    笨猪 



        的表作了很好的备份  对不对                 对   这
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!