存儲過程和變量


 在SQL Server中,可以定義子程序存放在數據庫中,這樣子程序稱為存儲過程

  SQL Server中支持以下幾種類型的存儲過程

   1,系統存儲過程(以“sp_”為前綴,存儲在master里面)

   2,本地存儲過程(存儲在用戶自定義的數據庫中)

   3,擴展存儲過程(以“xp_”為前綴,存儲在master里面)

  4,臨時存儲過程(以#開頭)

  注:用戶定義的存儲過程不能以sp/xp開頭

 

創建存儲過程

   create  procedure   存儲過程名  as  SQL語句

執行存儲過程

   Exec(execute)  存儲過程名

修改存儲過程

alter  proc   存儲過程名  as  SQL語句

刪除存儲過程 

drop  procedure  存儲過程名

查看存儲過程

sp_helptext  查看存儲過程的定義

sp_help  查看儲存過程有關信息

sp_depends    查看存儲過程所依據的對象

sp_rename   存儲過程原名,存儲過程新名

 

存儲過程中參數的使用

  存儲過程可以帶一個或多個輸入參數

 create procedure  存儲過程名

(@ 參數名  數據類型[=默認值])

as  SQL語句

 

執行帶參數的存儲過程    

①使用參數名傳遞數值

  execute  存儲過程名  [@參數名=參數值]

    exec  p_a  @sname='aaa',@pwd='123'

②按參數位置傳遞參數

   execute  存儲過程名  參數值1,參數值2

 exec  p_a  'aaa','123'

 

加密存儲過程

   create  procedure p_mi  (參數組)  with  encryption----加密  as  SQL語句

帶輸出參數的存儲過程-----從存儲過程中返回一個或多個值

  create   procedure   存儲過程名  @參數名  數據類型   output   as  SQL語句

 

變量

 T-SQL中變量分為局部變量和全局變量

聲明局部變量  declare   以@開頭的變量名  類型(長度)

局部變量賦值  set  局部變量名=值

注:局部變量和賦值必須分開

全局變量  以@@開頭是SQL系統內部事先定義好的變量

運算符:

算數運算符:+,-,*,/,%

賦值:=

比較:>,<.....

邏輯運算符:

  all,and,any,some,betwwen,exists,in,like,not,or

流程控制

begin...end:定義語句塊,相當於一對括號

Break:退出最內層的while循環

continue:重新開始while循環

goto:無條件跳轉語句

if...else:滿足條件執行if否則執行else

return:無條件退出

waitfor:為語句的執行設置延遲

while:條件為真時執行語句

return:

   declare  @i int

   set @i=0

  while  @i<10

    begin

           set  @i=@i+1

            if   @1%3=0

            return   -----終止整個批處理

            print @i     --最終會輸入3

     end

 

使用return返回狀態值

   存儲過程中  return於output區別

  共同點:都返回值 (return只能返回int類型)

 不同點:

output是定義變量是不是可以返回值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM