CREATE PROCEDURE InsertArticle
//省略...
@State int OUTPUT
AS
DECLARE @newArticleID int
BEGIN
BEGIN TRAN
INSERT INTO 表A(...) values(...);
SET @newArticleID = SCOPE_IDENTITY();
INSERT INTO 表B(字段名 ...) values(@newArticleID...);
IF @@error <> 0
BEGIN
SET @State = 0;
ROLLBACK TRAN
END
ELSE
BEGIN
SET @State = 1;
COMMIT TRAN
END
END
GO
----------------------------------------------------------------
BEGIN TRANSACTION
SAVE TRANSACTION TA
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION TA
COMMIT
RETURN -1 --系统发生错误
END
ELSE
BEGIN
SELECT @hcd_id = @@IDENTITY
END
COMMIT