在學校學習sql的時候很多概念和方法都是很模糊的,今天在公司實習的時候看到了一個存儲過程,借此自學鞏固一下。
存儲過程概念
存儲過程是SQL語句和可選控制流語句的預編譯集合,存儲在數據庫中,可由應用程序通過一個調用執行,而且允許用戶聲明變量、有條件執行以及其他強大的編程功能。這話比較簡單也較官方,而我對存儲過程的理解就是將固定的操作集放入數據庫去執行,但與此同時,它也有自己的數據類型、流程控制和輸入輸出等。
下面是自己寫的兩個小例子來加深印象。
實例(1):創建存儲過程
1 create Procedure Pro
@SID varchar(10), --代號
@SName varchar(10), --名稱
@SType varchar(10), --類型
as
begin
declare @Status int, --狀態
declare @SQty varchar(10), --數量
set @Status=0 --狀態
set @SQty=0 --數量
select @SName=SName from test
where Sid=@SID and @SType=SType
if @Status=7
begin
set @Status =@Status+'關閉'+char(10)+char(10)
select @Status Status
19 return
20 end
執行Pro這個存儲過程,declare聲明一個變量用來接收執行過存儲過程後的返回值,@X代表一個變量。
實例(2):修改存儲過程並執行
alter Procedure Pro
@SID int = 2,
@SName varchar(10) = '%'
as
begin
select * from test
where Sid=@SID
and @SType=SType
execute Pro 2,'admin'