java插入数据时为什么有时能执行到触发器,有时又不行

songfuqiang 2008-05-22 08:55:06
这是触发器代码:
CREATE TRIGGER [TRIGGERINSERT] ON dbo.Customers
FOR INSERT
AS
DECLARE @AMOUNT INT
SELECT @AMOUNT=PRODUCT_AMOUNT FROM PRODUCT
SET @AMOUNT= @AMOUNT-1
UPDATE PRODUCT SET PRODUCT_AMOUNT=@AMOUNT WHERE PRODUCT_ID=(SELECT PRODUCT_ID FROM INSERTED)

这是java代码:

String sql="insert into Customers(custom_name,employ_id,custom_date,product_id,product_total,total_price) values('text',1,1,'2008-05-20',1,2,50)";
Connection con=super.getCon();
PreparedStatement pstm=null;
boolean result=false;
try {
pstm=con.prepareStatement(sql);
pstm.execute();
result =true;
} catch (SQLException e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
连续插入两条记录,为什么只执行一次触发器,这个问题怎么解决?
...全文
39 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
siyue_qi 2008-05-22
  • 打赏
  • 举报
回复
你把两条SQL放在查询分析器中一起执行,看看触发器是否正常执行啊
我记得触发器不是before insert 和 after insert两种么。
jojoqiong 2008-05-22
  • 打赏
  • 举报
回复
加个go

81,092

社区成员

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

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