博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql开发技巧
阅读量:7100 次
发布时间:2019-06-28

本文共 851 字,大约阅读时间需要 2 分钟。

hot3.png

简介

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

  • 使用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_Pagedwhere RowNumber between StartIndex and StartIndex+@PageSize-1

事务

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

begin try    begin tran        sqlstatement    commit tranend trybegin catch    rollback tranend 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)

转载于:https://my.oschina.net/u/200350/blog/502763

你可能感兴趣的文章
“百万年薪一将难求”,新零售人才争夺战怎么打?
查看>>
Firefox 66 发布,阻止网站自动播放声音
查看>>
介绍两个好玩的和Github相关的Chrome扩展
查看>>
他们经营天猫一半的店铺,或迎来史上最大机遇
查看>>
GMGC昆山数娱峰会:VR爆发,差的不只是一层窗户纸
查看>>
8Manage 助力平阳县交通运输局实现招标流程电子化管理
查看>>
硬盘分区时GPT和MBR的区别/选择
查看>>
互联网+汽车,一场打破传统的历史性变革
查看>>
区块链:新零售下一个核心突破点
查看>>
声纹识别技术:安全指数更高但其发展仍面临重重阻碍
查看>>
VR 影院,约吗?
查看>>
orm2 中文文档 3.1 模型属性
查看>>
雪城大学信息安全讲义 4.3~4.4
查看>>
JSP的客户端请求
查看>>
Memcached启动提示:cann't run as root without the -u switch
查看>>
300+参展品牌,10+同期会议,IOTE2018国际物联网展苏州开幕
查看>>
New Product Launch: Alibaba Cloud Data Integration
查看>>
人工智能玩具安全性遭质疑,刺痛了谁的神经?
查看>>
Mac系统下利用ADB命令连接android手机并进行文件操作
查看>>
修改Windows和linux系统时间
查看>>