程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> My SQL Server存儲過程創建及調用

My SQL Server存儲過程創建及調用

編輯:MySQL綜合教程

My SQL Server存儲過程創建及調用   存儲過程優點:   ① 執行速度快   ② 模板化程序設計   ③ 減少網絡流量   ④提供系統安全性   .什麼是存儲過程  存儲過程(stored procdures)是Sql查詢語句與控制流語句的預編譯集合,並以特定的名稱保存在數據庫中。且分為自定義存儲過程與系統存儲過程   ·系統存儲過程    →系統存儲過程命名以“sp_”開頭和“xp_”開頭。在master數據庫中    →擴展存儲過程:xp_cmdshell  ,可以調用DOS命令  用法如下:   exec xp_cmdshell Dos命令 [no_output]    →execute 用來調用存儲過程,也可縮寫為exec  語法:   execute '存儲過程名' '參數'  --如果沒有參數則省略參數       ·用戶自定義存儲過程 語法:     create procedure 存儲過程名  @參數1名 數據類型[ = 默認值][參數類型(輸入/輸出)]  ...  @參數n名 數據類型[ = 默認值][參數類型(輸入/輸出)] as    sql語句     ... go *注意:參數類型分為輸入與輸出參數,默認為輸入參數,使用output表示輸出,創建存儲過程最好以 proc 開頭。   ①創建不帶參數的存儲過程 例:   查詢所有空閒的電腦信息 --判斷存儲過程是否存在 if exists(select * from sysobjects where[name]='proc_GetPc')  drop procedure proc_GetPc go --創建不帶參數的存儲過程 create procedure proc_GetPc --沒有參數 as select pcId as '電腦編號', '電腦使用狀態'=case  when PcUse=0 then '空閒'  when PcUse=1 then '空閒' PcNote as '備注' from PcInfo where PcUse=0 go   --調用存儲過程 execute proc_GetPc   ②創建帶輸入參數的存儲過程  語法: create procedure 存儲過程名  @參數1名 數據類型[= 默認值]  ...  @參數N名 數據類型[= 默認值] as   SQL語句   ... go   ③創建帶輸出參數的存儲過程    與C語言的返回值類似,執行存儲過程後,一可以返回值。但與C語言只能返回一個值不同,存儲過程可以返回一個或多個值。這就需要我們定義並接收輸出(output)參數。   ④return的使用     return 關鍵字終止存儲過程的執行或返回數據。類似C語言函數中的return。     return 只能返回int 類型,output 返回任意類型。   ·處理錯誤信息   SQL Server中使用raiserror返回用戶自定義的錯誤信息。 語法:     RAISERROR(自定義的錯誤信息,錯誤的嚴重級別,錯誤的狀態) →自定義錯誤信息:表示輸出的錯誤提示文本。 →錯誤的嚴重級別:表示用戶自定義錯誤的嚴重級性級別。 →錯誤的狀態:表示自定義錯誤的狀態,值的范圍在1-127。   .存儲過程是數據庫對象,可以使用 DROP PROCEDURE語句刪除存儲過程。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved