码迷,mamicode.com
首页 > 数据库 > 详细

Sql开发技巧

时间:2014-11-27 01:31:25      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   os   使用   strong   on   art   

原文: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开发技巧

标签:blog   http   io   ar   os   使用   strong   on   art   

原文地址:http://www.cnblogs.com/lonelyxmas/p/4125463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!