我有一个触发器,就是在插入语句的时候进行判断,如果不满足,就回滚,但java代码这边仍然认为是成功的,想问一下,怎么让程序这边知道数据库那里执行了回滚操作。

解决方案 »

  1.   


    摁锕,trigger不常用来干这个。
      

  2.   

    这是我的触发器代码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
    写储存过程该怎么改呢?
      

  3.   

    首先JDBC要显示的提交数据,然后用存储过程,返回一个值,判断,然后
      

  4.   

    简单啊,就是在你的rollback前面 修改你的变量啊。