Sql开发技巧

简介sql

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

  • 使用Row_Number分页code

  • 事务事务

  • 根据条件刷选记录的技巧it

分页io

主要是使用了Row_Number()这个函数。通常以下:class

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

事务select

这个在复杂的sql语句中常常用,尤为配合存储过程。可以使一个操做原子化,防止只执行部分的操做。(当一个存在过程在执行的时候,是一条一条语句执行的,当出现错误的时候回中止执行,可是若是前面已经执行了一些语句,那么没有事务机制的话,该执行不可以回滚。)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)
相关文章
相关标签/搜索