触发器中运用事务的问题。
写了一个触发器,在用户通过ASP程序向这个表中添加数据的时候,触发器回滚整个添加记录的过程。
现在这个事务可以正常运行,但是程序向表中添加数据的时候,没有提示任何错误,就当做一条记录已经被添加了一样的提示用户“添加成功”,其实这条数据是没有进数据库的,这样不是误导了用户吗?
我想是不是可以在触发器里加一个错误发送,这样程序在添加数据的时候如果事务回滚,程序就会出错,然后用程序的错误处理提示用户记录没有添加成功呢?
还望大侠指点高招,谢谢啊!
问题点数:50、回复次数:2Top
1 楼wgsasd311(自强不息)回复于 2006-03-14 21:40:46 得分 40
create table test(f1 int,f2 int,f3 varchar(20),f4 varchar(20),f5 int)
insert test values(1,2,'aa','b',3)
select * from test
go
create trigger ti_test on test
for insert
as
raiserror('插入失败',16,1)
rollback
go
insert test values(1,2,'aa','bb',3)
select * from test
goTop
2 楼huailairen(流浪猫--很想养只猫,带着它到处流浪。)回复于 2006-03-14 21:54:10 得分 10
可以添加raiserror
然后通过error对象取得错误信息,返回到页面。Top




