【发布时间】:2014-01-13 12:03:05
【问题描述】:
我有一个存储过程,当执行它时,它会在 2 个表中插入几条记录。
假设在作者表中插入一条记录并在书籍表中插入几条记录(作者的书籍)。
如何在回滚事务中进行所有插入?
我读了一些文章/博客,@@trancount/@@error/XACT_STATE() 让我很困惑。
最好的方法是什么?
这是我的过程:
CREATE PROCEDURE [dbo].[proc_addAuthors]
@bookid1 int, @bookid2 int, @bookid3 int, @bookid4 int, @bookid5 int,
@authInfo
AS
insert into author...(leave out params)
--get authorId
...
--insert books (leave out validation checks...)
insert into author2book(authorId, bookId) values(@authorid, @bookid1)
...
RETURN 0
【问题讨论】:
-
你的sql server是什么版本的?
-
@rudibruchez 它在问题的标签中 - 2008。
标签: sql-server sql-server-2008 tsql