當前位置:編程學習大全網 - 源碼破解 - SQL 中存儲過程怎麽使用?

SQL 中存儲過程怎麽使用?

壹、簡單的儲存過程:

1、創建壹個存儲過程

create procedure GetUsers()

begin?

select * from user;?

end;12345

2、調用存儲過程

call GetUsers();12

3、刪除存儲過程

drop procedure if exists GetUsers;

二、帶參數的存儲過程

1、MySql 支持 IN (傳遞給存儲過程) , OUT (從存儲過程傳出) 和 INOUT (對存儲過程傳入和傳出) 類型的參數 , 存儲過程的代碼位於 BEGIN 和 END 語句內 , 它們是壹系列 SQL 語句 , 用來檢索值 , 然後保存到相應的變量 (通過指定INTO關鍵字) ;

2、下面的存儲過程接受三個參數 , 分別用於獲取用戶表的最小 , 平均 , 最大分數 , 每個參數必須具有指定的類型 , 這裏使用十進制值(decimal(8,2)) , 關鍵字 OUT 指出相應的參數用來從存儲過程傳出

create procedure GetScores(

out minScore decimal(8,2),

out avgScore decimal(8,2),

out maxScore decimal(8,2)

)

begin

select min(score) into minScore from user;

select avg(score) into avgScore from user;

select max(score) into maxScore from user;

end;1234567891011

3、調用此存儲過程 , 必須指定3個變量名(所有 MySql 變量都必須以?@?開始) , 如下所示 :

call GetScores(@minScore, @avgScore, @maxScore);12

4、該調用並沒有任何輸出 , 只是把調用的結果賦給了調用時傳入的變量?@minScore, @avgScore, @maxScore?, 然後即可調用顯示該變量的值 :

select @minScore, @avgScore, @maxScore;

5、使用 IN 參數 , 輸入壹個用戶 id , 返回該用戶的名字 :

create procedure GetNameByID(

in userID int,

out userName varchar(200)

)

begin

select name from user

where id = userID

into userName;

end;12345678910

6、調用存儲過程 :

call GetNameByID(1, @userName);

select @userName;123

參考資料

SQL存儲過程使用介紹.csdn博客[引用時間2017-12-31]

  • 上一篇:南極大冒險中英文簡介
  • 下一篇:五數壹數,填壹填()個角()個角
  • copyright 2024編程學習大全網