zoukankan      html  css  js  c++  java
  • 第一个存储过程

    以前也修改过一些个存储过程,这次是从头自己些,刚下笔就不知道怎么定义了,翻书谷歌都用上了,才知道怎么个语法问题,这个存储过程是很传统的问题:分页查询问题,之前都是用sql语句直接执行的,这次要用存储过程,前台和中间层都是写死了,只能用存储过程来修改已有的功能。传过来的参数有要分页的页码和每一页的记录数,如下:

      

    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    go
    
    ALTER PROCEDURE [dbo].[user_search]
    --参数是 当前页码和每一页的条数
        @pageNow INT ,
        @pageSize INT
    AS ----两个局部参数用来计算数量和总页数
        DECLARE @pageCount INT 
        DECLARE @rowCount INT
        SET @rowCount = ( SELECT    COUNT(ID)
                          FROM      dbo.[user]
                        ) ;
        SET @pageCount = @rowCount / @pageSize + 1 
    --------判断当前的页码是否超过总页码
        IF @pageNow > @pageCount 
            RETURN 1 ;		
    
        ELSE 
            SELECT TOP ( @pageSize )
                    *
            FROM    dbo.[user]
            WHERE   ID NOT IN ( SELECT TOP ( ( @pageSize ) * ( @pageNow - 1 ) )
                                        ID
                                FROM    dbo.[user]
                                ORDER BY ID )
            ORDER BY dbo.[user].ID	
    

    存储过程的一般格式:

    create proc 存储过程名字

      @parm1 Type(数据类型),

      @parm2 Type(数据类型)

      ......

     AS

      有些内部用参数要在这里声明一下:要用关键字Declare @parm 类型  ,这个方式,

      接下来就是用结构话的语句处理业务需求,要sql语句也是其中的主要成员,借助于sql语句能和数据库

      交互,实现数据的更新和选择操作。 

        尤其是注意其中的Begin End 这是为if 或者循环语句用的,因为在T-sql里,for while以及if 语句只执行离他最近的一条语句,

        如果有多条,需要用Begion End 做一个整体执行标记。否则只执行最近的那一句了。。

    接下来要到页面上来处理数据了。。

      接下来计划要用js ajax 和ssh 做一个车辆监控平台,不知道用什么js ui库好,没经验,慢慢摸索了。。

    纸上得来终觉浅,绝知此事要躬行
  • 相关阅读:
    话说Hibernate和ADO.NET —练习随笔小记
    二次开发WinWebMail邮件系统接口 企业邮件服务器解决方案
    一个Windows后台服务(.Net的C#版) 定时访问数据库循环发送手机短信
    SQL UPDATE 联合表更新的问题
    2009新的篇章,惠海→时代财富→广佛都市网
    在WebService中使用Session或Cookie实现WebService身份验证(客户端是Flex)
    门户网站的形成—CMS内容管理系统
    CSS实现0.5px的边框或线
    《后人诗》
    CentOS6下docker的安装和使用
  • 原文地址:https://www.cnblogs.com/d2ee/p/2170388.html
Copyright © 2011-2022 走看看