例如:銀行轉賬的典型案例
語法:begin transition --開始事務
declare @money int --定義變數來判斷sql語句是否報錯
update bank set money = money - 100 where person = 『張總』 -- 張總的賬戶減少100萬
@money = @@error --@@error 判斷上一句sql語句是否錯誤
update bank set money = money - 100 where person = 『李總』 -- 張總的賬戶錢增加100萬
@money = @money + @@error
if(@@money = 0)
begin
commit --提交事務
endelse
begin
rollback --回滾事務
end@@error 系統變數:判斷上一條sql語句是否出錯,如果出錯返回值不等於0,不出錯,返回值就是0
@變數名 資料型別 = 預設值 --引數
@變數名 資料型別 = 預設值 out/output --輸出引數
as
begin
@變數名 資料型別
sql語句
endgo
out與output的區別:
相同點:都是輸出引數
不同點:out只能指明輸出引數是誰,不能夠給引數賦值
output可以賦值 ,而且在儲存過程中可以當作變數來使用
儲存過程基本語法
儲存過程可以看作是在資料庫中sql語句的集合,通過執行儲存過程來達到對資料庫的操作,它實現功能和sql語句實現的功能是一樣的,但是兩者在語法上有很大不同,下面介紹儲存過程的用法。1 宣告變數 在儲存過程中宣告變數用declare關鍵字語法如下 declare 示例 declare studentid...
oracle 儲存過程的基本語法
1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2 in number is 變數1 integer 0 變數2 date begin end 儲存過程名字 2.select into statement 將select查詢的結果存...
oracle 儲存過程的基本語法
1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2 in number is 變數1 integer 0 變數2 date begin end 儲存過程名字 2.select into statement 將select查詢的結果存...