トランザクションについて、一つの簡単なサンプル

来源:互联网 发布:数据质控系统 编辑:程序博客网 时间:2024/05/16 10:55

CREATE  PROCEDURE TRAN_1
 @IN_ID INT = 0,
 @IN_NAME VARCHAR(10),
 @IN_ADD VARCHAR(125)
AS

DECLARE @RE INT

BEGIN TRAN TRAN_1

UPDATE
 dbo.TbExam01
SET
 Name = @IN_NAME
WHERE
 ID = @IN_ID

INSERT INTO
 dbo.TbExam02
VALUES (@IN_ID,@IN_NAME,@IN_ADD,'SHANGHAI',GETDATE())

IF @@ERROR<>0   --ステートメントでエラーが発生しなかった場合は、0 が返されます
BEGIN
 ROLLBACK TRAN TRAN_1
 SET @RE = 1
END
ELSE
BEGIN
 COMMIT TRAN TRAN_1
 SET @RE= 0
END