zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    2.ECMAScript 5.0
    1.Javascript简介
    9.定位
    HDU2032 杨辉三角
    HDU2058 The sum problem
    HDU2091 空心三角形
    HDU1166 敌兵布阵(树状数组模板题)
    HDU2049 不容易系列之(4)——考新郎
    Python网络爬虫与信息提取(三)(正则表达式的基础语法)
    HDU6576 Worker
  • 原文地址:https://www.cnblogs.com/marvin/p/1614214.html
Copyright © 2011-2022 走看看