有没有办法知道数据库那边在插入不成功后进行了回滚操作

一叶子一 2010-06-03 04:45:46
我有一个触发器,就是在插入语句的时候进行判断,如果不满足,就回滚,但java代码这边仍然认为是成功的,想问一下,怎么让程序这边知道数据库那里执行了回滚操作。
...全文
177 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶子一 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dr_lou 的回复:]
简单啊,就是在你的rollback前面 修改你的变量啊。
[/Quote]
不懂,对存储过程这方面是菜鸟
dr_lou 2010-06-03
  • 打赏
  • 举报
回复
简单啊,就是在你的rollback前面 修改你的变量啊。
zs86374877 2010-06-03
  • 打赏
  • 举报
回复
首先JDBC要显示的提交数据,然后用存储过程,返回一个值,判断,然后。。。
一叶子一 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dr_lou 的回复:]
想知道是否回滚啊,别用触发器了,用存储过程吧,带返回值的那种。
[/Quote]
这是我的触发器代码

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


ALTER trigger Insert_xfjl_max
on xfjl
for insert
as
if ((select sum(xfje) from xfjl where datepart(dd,xfsj)=day(getdate())
and datepart(m,xfsj)=month(getdate()) and datepart(yyyy,xfsj)=year(getdate()) and kpbh = (select kpbh from inserted))> 50)
begin
print '超出当天最大消费了'
rollback;
else
begin
commit
print '执行成功'
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


写储存过程该怎么改呢?
crazylaa 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dr_lou 的回复:]

想知道是否回滚啊,别用触发器了,用存储过程吧,带返回值的那种。
[/Quote]

摁锕,trigger不常用来干这个。
dr_lou 2010-06-03
  • 打赏
  • 举报
回复
想知道是否回滚啊,别用触发器了,用存储过程吧,带返回值的那种。
xiesisi3 2010-06-03
  • 打赏
  • 举报
回复
那么在插入后马上查询一下,如果能够查出对应的结果表示没有回滚,查不出来不就回滚了么
一叶子一 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiesisi3 的回复:]
插入成功会返回插入条数 根据这个判断.
[/Quote]
这个试过没用的!产生回滚操作,必然就影响了行数
xiesisi3 2010-06-03
  • 打赏
  • 举报
回复
插入成功会返回插入条数 根据这个判断.

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧