1,建立乙個簡單儲存過程
示例:
create procedure user --建立名為user儲存過程as --指定過程要執行下面操作
select * from tablename
go
2,呼叫儲存過程
示例:exec user 或者 execute user
執行後結果為:select * from tablename 查詢的結果
3,修改儲存過程
示例:alter procedure 儲存過程名
4,刪除儲存過程
示例:drop procedure 儲存過程名
5,帶乙個引數的儲存過程
示例:
if (exists (select * from sys.objects where name = 'user')) --如果有user這個儲存過程drop procedure user --刪除user
gocreate procedure user --建立user儲存過程
(@userid int) --宣告乙個輸入引數
asselect * from stud where studid=@userid; --查詢學生表中輸入的userid的資訊
--執行user 儲存過程
exec user 1; --這裡的1就是userid
6、建立帶返回值的儲存過程
示例:
if (exists (select * from sys.objects where name = 'user'))drop procedure user
gocreate procedure user(
@username varchar(20),--輸入引數,無預設值
@userid int output --輸入/輸出引數 無預設值,output 返回引數)as
select @userid=studid from stud where studname=@username --通過username找userid
--執行user這個帶返回值的儲存過程
declare @id int --宣告乙個變數用來接收執行儲存過程後的返回值
exec user '李四',@id output --執行儲存過程。@username=李四,@id output:返回值(userid)
select @id as userid ;--as是給返回的列值起乙個名字
7、帶萬用字元的儲存過程
示例:
create procedure user(@username varchar(20)='%'
@userid int ='%')as
select *from stud where studname like @username
and studid like @userid
exec user '李%','1%' --匹配stud表中姓名李開頭和id為1開頭的學生資訊
8、帶判斷的儲存過程
示例:
if (exists (select * from sys.objects where name = 'user'))drop procedure user
gocreate procedure user(
@a int,--輸入引數,無預設值
@b int --輸入引數 無預設值,)as
if @a>@b
begin --if語句必須用begin和end
print 'a' --a>b,列印a
endelse if @a<@b
begin
print 'b' --aendelse
begin
print 'a=b' --前兩種情況都不滿足,列印a=b
end--執行呼叫儲存過程
exec user 1,1 --這裡a和b都是1,肯定列印a=b
MySQL儲存過程詳解 mysql 儲存過程
儲存過程簡介 我們常用的運算元據庫語言sql語句在執行的時候需要要先編譯,然後執行,而儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數 如果該儲存過程帶有引數 來呼叫執行它。乙個儲存過程是乙個可程式設計的...
SQL Server儲存過程詳解
什麼是儲存過程 儲存過程 procedure 類似於c 語言中的方法,它是sql語句和控制流語句的預編譯集合。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數 邏輯控制語句以及其他強大的程式設計功能。儲存過程可包含邏輯控制語句和資料操作語句,它可以接收引數 輸出引數 返回...
MySql儲存過程詳解
sql語句需要先編譯然後執行,而儲存過程是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數 如果該儲存過程帶有引數 來呼叫它。儲存過程是可程式設計的函式,在資料庫中建立並儲存,可以由sql語句和控制結構組成。當想要在不同的應用程式或平台上執行相同的函...