在生活中,我們會面對大量的重複性工作內容,這些工作內容枯燥且耗費時間,如果能夠使用乙個程式將這些重複性工作寫入,並進行封裝,那麼在下次需要的時候直接呼叫,會不會方便很多呢?
就如:生活中,洗衣服,
流程:接水——放入洗衣液——放入髒衣服——清洗衣服——擰乾,
現實中,我們可以通過洗衣機一鍵設定直接完成這些操作
同樣,資料庫的儲存過程也是這樣的道理,比如說我要查詢今天小明的工作內容,明天小明的工作內容,後天小明的工作內容,那我是不是就可以寫乙個查詢小明的工作內容的函式,並把日期作為乙個查詢引數寫成乙個儲存過程,然後查詢的時候直接呼叫呢?
簡單來說,儲存過程就是乙個實現特定功能的函式。
下面以sql server資料庫為例,簡單演示一下儲存過程
------------注意:不同的資料庫呼叫儲存過程的語法不同
儲存過程的**寫在函式下,直接新建函式,命名,定義變數,寫完儲存即可
注意:
當你第一次新建函式的時候是建立
第二次雙擊點入的時候,**自動變成修改
1.1 定義儲存過程2.1 無參儲存過程1.2 呼叫儲存過程
create procedure [dbo]
.[pro_sum]
asbegin
select id from cbhs_xmft_cagitem;
end
呼叫:
exec pro_sum
2.2 有參儲存過程
alter procedure [dbo]
.[pro_sum_arg]
@itemname varchar
(100
) as
begin
select id from cbhs_xmft_cagitem where itemname=@itemname;
end
呼叫:
exec pro_sum_arg '其他費'
exec pro_sum_arg @itemname=
'其他費'
2.3 設定預設引數
alter procedure [dbo]
.[pro_sum_default]
@itemname as nvarchar
(500)=
'其他費'
asbegin
select * from cbhs_xmft_cagitem where itemname=@itemname
end
呼叫:
exec pro_sum_default
// 也可以重新設定預設值
exec pro_sum_default @itemname=
'伙食費'
2.4 帶輸出引數的儲存過程
alter procedure [dbo]
.[pro_sum_output]
@itemname as nvarchar
(100)=
'其他費'
, @num as int output
asbegin
select * from cbhs_xmft_cagitem where itemname=@itemname
set @num=
(select count(*
) from cbhs_xmft_cagitem where itemname=@itemname)
end
呼叫:
declare @countall int
exec pro_sum_output @itemname=
'**費'
,@num=@countall output
select @countall as 記錄條數
注意:帶output關鍵字的引數需要宣告變數
2.5 使用儲存過程實現分頁
alter procedure [dbo]
.[pro_sum_page]
@pagesize int=15
,@pageindex int=1
,@totalcount int output,
@pagecount int output --總頁數
asbegin
select id,itemname,itemcode from
(select *
,row_num=
row_number()
over
(order by id asc) from cbhs_xmft_cagitem) as a
where a.row_num between (@pageindex-1)
*@pagesize+
1 and @pagesize*@pageindex
set @totalcount=
(select count(*
) from cbhs_xmft_cagitem)
set @pagecount=
ceiling
(@totalcount*
1.0/@pagesize)
end
呼叫:
declare @num int
declare @countall int
exec pro_sum_page @pagesize=
15,@pageindex=
2,@totalcount=@num output,@pagecount=@countall output
select @num as 總條數
select @countall as 總頁數
mysql儲存過程的語法使用
sql server儲存過程簡單使用
sql server儲存過程
建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...
SQLSERVER儲存過程
sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...
SQL Server 儲存過程
儲存過程概念 儲存過程優點 儲存過程的介面 儲存過程的解析 編譯過程 儲存過程安全性 檢視儲存過程 加密 解密儲存過程 儲存過程概念 儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 帶參儲存過程 來執行...