• 牛腩新闻发布系统(2)使用存储过程查询表


              很多人接触数据库,从数据库表中查记录最早应该是利用SQL语句字符串,这也是我们开始操作数据库表使用的SQL语言,那时也看过存储过程,只是不理解存储过程什么意思,现在也只是简单应用,了解一点点而已。

              形象一些,存储过程就是完成一个特定功能的东西,和函数差不多,是一段程序代码的集合。

             下面是通过在一个系统中的具体应用来帮助学习、掌握、理解存储过程。同时学习也是一步一步逐渐深入的学习,从了解、认识、理解、应用的一个过程,学习的知识在于应用,也只有会灵活应用了,才是自己的。

             存储过程概念:

             存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
             创建语句:
              
            

            1  例如:建立一个存储过程,从“新闻类表”category、“新闻表”news中查询最新的新闻若干条新闻(上一篇博客中已有这两个表的描述)

          

                上面代码是通过外键关联从category 、news两个表中查询最新的新闻,n 、c 分别为表起的别名(alias)。

                红色框表示内连接,此外还有交叉联接、外联接(左向外联接,右向外联接,完整外联接)等类型,常用的是内连接,

               内联接的格式为:                                              

               数据表1  inner join  数据表2  on  联接表达式

               指定返回两个表中所有匹配的行。

            2  建立一个根据评论数,查询热点新闻的存储过程。

            

            想要应用存储过程本质上还是要熟练运用SQL查询语句,语法如下:

           

            方框中的是不经常用但很重要的查询关键字,其含义如下:

            ALL:指明查询结果中可以显示值相同的列ALL是系统默认的
            DISTINCT:指明查询结果中如果有值相同的列则只显示其中的一列DISTINCT选项来说,Null 值被认为是相同的值
           TOP n  [PERCENT]:指定返回查询结果的前n行数据如果PERCENT关键字指定的话则返回查询结果的前百分之n行数据

           group_by_expression指明分组条件group_by_expression通常是一个列名但不能是列的别名

          ORDERBY子句指定查询结果的排序方式

          ASC(ascending)指明查询结果按升序排列这是系统默认值
          DESC(descending)指明查询结果按降序排列

           在大点的数据库系统中,存储过程具有很重要的作用。本质而言它是SQL语句和流程控制语句的集合。存储过程在运算时生成执行方式,所以以后对其再运行时其执行速度很快。

           我们可以多多运用,尤其是在Web-Server之间执行时,速度会快一些。

           什么时候使用存储过程比较合适?




  • 相关阅读:
    (SQL)如何将exec执行结果放入外面的变量中--动态sql语句
    Building and Installing ACE on Win32 with MinGW/ MSYS
    TAO和CIAO 简介
    Papervision3D 基础
    ACE网络开发中,各种Reactor实现的总结
    [转]第四期FLASH专家交流会 7月24日 广州东方国际饭店
    ACE介绍及简单服务器实例
    ACE相关资源
    Windows下用Eclipse搭建C/C++开发环境
    ACE的编译和安装,for windows、Linux
  • 原文地址:https://www.cnblogs.com/lilongsheng1125/p/4978643.html
Copyright © 2020-2023  润新知