1. 程式人生 > >儲存過程的基本語法與事務的基本概念

儲存過程的基本語法與事務的基本概念

  • 事務
    1. 開始事務
      1. Begin transaction
    2. 提交事務
      1. Commit transaction
    3. 回滾事務
      1. Rollback transaction

 

例如:銀行轉賬的典型案例

語法:

Begin transition   --開始事務

Declare @money int  --定義變數來判斷sql語句是否報錯

Update bank set money = money - 100 where person = ‘張總’  -- 張總的賬戶減少100萬

@money = @@error             [email protected]@error 判斷上一句SQL語句是否錯誤

Update bank set money = money - 100 where person = ‘李總’  -- 張總的賬戶錢增加100萬

@money = @money + @@error

 

If(@@money = 0)

Begin

Commit            --提交事務

End

Else

Begin

Rollback         --回滾事務

end

 

@@error 系統變數:判斷上一條SQL語句是否出錯,如果出錯返回值不等於0,不出錯,返回值就是0

 

 

 

  • 儲存過程
    1. 建立儲存過程
      1. Create procedure proc_name

@變數名  資料型別  =  預設值          --引數

@變數名  資料型別  =  預設值  out/output   --輸出引數

as  

Begin

@變數名 資料型別

SQL語句

End

go

 

out與output的區別:

相同點:都是輸出引數

不同點:out只能指明輸出引數是誰,不能夠給引數賦值

Output可以賦值 ,而且在儲存過程中可以當作變數來使用

 

 

  • 字串擷取常見的方法
    1. Select left(‘hello word’,4)  ==>hell  ---第一個引數是要擷取的字串,第二個引數是擷取長度
    2. Select right(‘hello word’,4)  ==>word
    3. Substring(‘hello word’,1,3)  ==>hel   --第一個引數是要擷取的字串,第二個引數是從那個位置開始擷取,第三個引數是擷取到那個位置
  • 去掉空格的方法
    1. Select ltrim(‘    hello  word’)   --去掉左邊的空格
    2. Select ltrim(‘ hello  word     ’)   --去掉右邊的空格