類似於.ne程式設計中的方法,函式.和c#裡的方法一樣,由儲存過程名/儲存過程引數組成/可以有返回結果.
前面學習的if else/while 變數 /insert /select等,都可以在儲存過程中使用.
優點
執行速度更快,在資料庫中儲存的儲存過程都是已經完成編譯的.
允許模組化程式設計–類似方法的復用
提高系統的安全性,防止sql注入.
減少網路流通量-只要傳輸儲存過程的名稱.
儲存過程分類
系統儲存過程:由系統定義,存放在master資料庫中.名稱以sp_開頭或者xp_開頭,
自定義儲存過程:由使用者在自己的資料庫中建立的儲存過程,名稱以usp_開頭
執行儲存過程的方法
自定義的儲存過程使用exec關鍵字,後面接上儲存過程名稱及引數.系統的儲存過程可以不使用exec.
定義儲存過程
create proc usp_儲存過程名稱
@num1 int,
@num2 int,//注意這裡面是形參,是不需要declare的
asbegin
正式的語句
end
儲存過程傳遞引數的以一種方式
declare @n1
int=10,@n2
int =12
exec usp_名稱 @num1=@n1,@num2=@n2
//一般系統的寫法
第二種方式
exec usp_名稱 10,20
//直接傳值,但是需要所有引數需要保持一致.
儲存過程提分的案例
create proc usp_tf
@ds int
output
asbegin
declare @zcount int=(select
count(*) from
table),
declare @jgcount int=(select
count(*) from
table
where score<60),
while(jgcount<=zcount/2)
begin
update tab set score=score+2
where score<60
set@jicount=(select
count(*) from
table
where score<60)
end
SQL儲存過程
什麼是儲存過程呢?定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就是一堆sql語句而已啊?microsoft公司為什麼還要新增...
sql儲存過程
概念 sql server提供了一種方法,它可以將一些固定的操作集中起來由sql server資料庫伺服器來完成,以實現某個任務,這種方法就是儲存過程。儲存過程是sql語句和可選控制流語句的預編譯集合,儲存過程在資料庫中可由應用程式通過乙個呼叫執行,而且允許使用者申明變數 有條件的執行以及其它強大的...
SQL儲存過程
儲存過程 1.返回值 create proc example4 as begin declare 返回值 int select 返回值 sum 庫存量 from 產品 return 返回值 endgo 接受這個返回值必須要用變數來接收,如 declare 接收值 int exec 接收值 examp...