存儲過程 PROCEDURE 裏面用 TRAN 事務 表 A 記錄 插入表 B

 

怎麼在存儲過程 PROCEDURE 裏面用 TRAN 事務

下面是個例子 注意  

1:       problem 那裏是一個冒號:

2:       兩個地方都要有return  第一個return 沒有的話會繼續往下執行,  第二個return  沒有的話 如果SQL出錯,就會進入死循環;

其中這個語句的意思是:

INSERT INTO WordStock (KeyWord,Types)
 SELECT Keyword,Types FROM Records
  WHERE KeyTime <@KeyTime

把 Records表裏面的記錄插入  WordStock表

 

 

CREATE PROCEDURE Counts_Records_TO_WordStock
(
 @KeyTime DateTime   --  關鍵字鍵入時間
)

 AS
begin   TRAN
--從records表插入wordstock表
INSERT INTO WordStock (KeyWord,Types)
 SELECT Keyword,Types FROM Records
  WHERE KeyTime <@KeyTime

if   @@error   <>   0     goto   problem

--同時刪除records表剛插入的記錄
DELETE FROM Records WHERE KeyTime<@KeyTime

if   @@error   <>   0       goto   problem

COMMIT     TRAN

RETURN
 
problem:

ROLLBACK   TRAN

RETURN
GO

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章