原文:
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)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
