第一个存储过程
以前也修改过一些个存储过程,这次是从头自己些,刚下笔就不知道怎么定义了,翻书谷歌都用上了,才知道怎么个语法问题,这个存储过程是很传统的问题:分页查询问题,之前都是用sql语句直接执行的,这次要用存储过程,前台和中间层都是写死了,只能用存储过程来修改已有的功能。传过来的参数有要分页的页码和每一页的记录数,如下:
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 | 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库好,没经验,慢慢摸索了。。
纸上得来终觉浅,绝知此事要躬行
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步