以前也修改过一些个存储过程,这次是从头自己些,刚下笔就不知道怎么定义了,翻书谷歌都用上了,才知道怎么个语法问题,这个存储过程是很传统的问题:分页查询问题,之前都是用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库好,没经验,慢慢摸索了。。