一、存儲過程
存儲過程就像數據庫中運行的方法(函數)
優點:速度快,在數據庫中保存的存儲過程語句都是編譯過的
允許模塊化程序設計
提高系統的安全性,防止SQL注入
減少網絡流量,只傳輸存儲過程的名稱
二、存儲過程分類
1、系統存儲過程
由系統定義,存放在master數據庫中
名稱以"sp_"開頭或"xp_"開頭
2、自定義存儲過程
由用戶在自己的數據庫中創建的存儲過程usp
三、創建存儲過程
Create proc[edure] 存儲過程名
@參數1 數據類型=默認值 output,
@參數n 數據類型=默認值 output
as
SQL語句
四、存儲過程的使用
1 create procedure usp_FenYe 2 @pageIndex int, 3 @pageCount int=10, 4 @pageTotalCount int output 5 as 6 begin 7 --計算出總頁數 8 declare @totalData int; 9 set @totalData=(select count(*) from T) 10 set @pageTotalCount=Ceiling(@totalData*1.0/@pageCount); 11 --得到數據 12 select * from 13 (select *,num=row_number() over(order by id) from T) as t 14 where t.num between
15 @pageCount * (@pageInde-1)+1 and @pageCount* @pageIndex; 16 end 17 go