Sql开发技巧

系统 1768 0
原文: Sql开发技巧

简介

本文主要介绍下述几个技巧:

  • 使用Row_Number分页
  • 事务
  • 根据条件刷选记录的技巧

分页

主要是使用了Row_Number()这个函数。一般如下:

    
      declare @PageSize int;

declare @StartIndex int;



with MyTable_Paged as(

    select 

        Row_Number() over(order by col_1) as '',

        *

    from

        MyTalbe

    where

        condition

)

select * from MyTable_Paged



where RowNumber between StartIndex and StartIndex+@PageSize-1


    
  

事务

这个在复杂的sql语句中经常用,尤其配合存储过程。能够使一个操作原子化,防止只执行部分的操作。(当一个存在过程在执行的时候,是一条一条语句执行的,当出现错误的时候回停止执行,但是如果前面已经执行了一些语句,那么没有事务机制的话,该执行不能够回滚。)

    
      begin try

    begin tran

        sqlstatement

    commit tran

end try

begin catch

    rollback tran

end catch


    
  

根据条件刷选记录

这个技巧在于 当某一个条件可用可不用的情况下,不必使用众多的if等条件选择语句
比如需要筛选的条件如下: Name,Phone,Email

    
      select * from MyTalbe where 

    ([Name]=@Name or @Name is null)

and

    (Phone=@Phone or @Phone is null)

and

    (Email=@Email or @Email is null)
    
  

Sql开发技巧


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论