儲存過程的基本語法與事務的基本概念
阿新 • • 發佈:2018-11-21
- 事務
- 開始事務
- Begin transaction
- 提交事務
- Commit transaction
- 回滾事務
- 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
- 儲存過程
- 建立儲存過程
- Create procedure proc_name
- 建立儲存過程
@變數名 資料型別 = 預設值 --引數
@變數名 資料型別 = 預設值 out/output --輸出引數
as
Begin
@變數名 資料型別
SQL語句
End
go
out與output的區別:
相同點:都是輸出引數
不同點:out只能指明輸出引數是誰,不能夠給引數賦值
Output可以賦值 ,而且在儲存過程中可以當作變數來使用
- 字串擷取常見的方法
- Select left(‘hello word’,4) ==>hell ---第一個引數是要擷取的字串,第二個引數是擷取長度
- Select right(‘hello word’,4) ==>word
- Substring(‘hello word’,1,3) ==>hel --第一個引數是要擷取的字串,第二個引數是從那個位置開始擷取,第三個引數是擷取到那個位置
- 去掉空格的方法
- Select ltrim(‘ hello word’) --去掉左邊的空格
- Select ltrim(‘ hello word ’) --去掉右邊的空格