谁知道10007错误是怎么回事儿?

freeliu 2005-01-29 10:28:09
数据库的一个表增加trigger后,出现10007错误,错误信息是:
General SQL Server Error: Check messages from the SQL Server.

触发器的代码如下:


CREATE trigger tg_sb_051
on dbo.t_sb_051
FOR UPDATE, INSERT
AS
BEGIN
select * into #temp from inserted

set rowcount 1
while exists (select * from #temp)
begin
insert into t_sb_052
(pjt_no, hogi_no, seq,
cret_day, cret_pern, mody_day, mody_pern )
select
pjt_no, hogi_no, (select isnull((max(seq) + 1), 1) from t_sb_052 A where A.pjt_no = X.pjt_no and A.hogi_no = X.hogi_no),
cret_day, cret_pern,
mody_day, mody_pern
FROM #temp x
delete from #temp
end
set rowcount 0
END




...全文
656 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeliu 2005-01-31
  • 打赏
  • 举报
回复
等待...
freeliu 2005-01-31
  • 打赏
  • 举报
回复
请高手指点。
freeliu 2005-01-30
  • 打赏
  • 举报
回复
to: zanyzyg(猪油果)
你说的不错,如果只插入一条,没有错误,但是插入两条以上,就出现上述错误。
但是我在触发器中已经考虑到多条的情况了呀。
hai2003xp 2005-01-29
  • 打赏
  • 举报
回复
單獨把代碼觸器內部的代碼拿出來測試,如果有錯誤會顯示出來 的
daijingjie2002 2005-01-29
  • 打赏
  • 举报
回复
触发器没有错,应该是你前台插入或更新时出错
zjcxc 2005-01-29
  • 打赏
  • 举报
回复
触发器本身没有错误,你在查询分析器中插入数据,测试一下是否出错.
如果没有出错,则检查你的程序
如果出错,给出错误信息
freeliu 2005-01-29
  • 打赏
  • 举报
回复
谢谢回复。
我想知道具体的原因及解决的方法。
daijingjie2002 2005-01-29
  • 打赏
  • 举报
回复
提供程序指出使用了无效的句柄。
zanyzyg 2005-01-29
  • 打赏
  • 举报
回复

这个错误应该是插入数据的错误,你一次先插入一条或者两条看看,如果可以,那你也应该知道是什么原因了吧(跟我碰到过的类似),如果没错,那我也不知道了.
freeliu 2005-01-29
  • 打赏
  • 举报
回复
我在查询分析器中做的时候,没有错误。
前台程序运行的时候,我捕获的是数据库的错误,就是上面说的错误提示。
freeliu 2005-01-29
  • 打赏
  • 举报
回复
我的前台程序是用pb写的,只是往t_sb_051表中可能插入多条数据。(大概10条左右吧,是通过事务处理的。就是说插入完成后,统一提交的。)
Fibona 2005-01-29
  • 打赏
  • 举报
回复
应该是程序的错误.
Softlee81307 2005-01-29
  • 打赏
  • 举报
回复
触发器没有错

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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