急死我了!一个触发器的问题!麻烦进来帮个忙吧~

hawkeyes_yq 2002-12-27 09:53:09
小弟写了一个A表For Delete 的触发器(SQLServer2000下的),可是不知道什么原因,我用SQL查询分析器来删除A表中的记录的时候,我的触发器是可以用的,即:可以根据删除A表中的记录,触发B表,从而删除B表里的记录。
但是我在Delphi的代码里删除A表记录的时候,总是说 Update affected more than 1 record.不知道为什么。
另外说明:我在A表中删除的是1条记录,B表里会被删除2条以上的记录(满足条件的)
附上触发器:
ALTER Trigger Trig_PurviewDelete On A
for Delete
as
if exists
(select c.Formid from deleted a, Sy_UserGroup b, Sy_UserPurview c
where a.PurviewGroupID=b.PurviewGroupID and b.UserID=c.UserID and
c.FormID=a.FormID )

Delete B from deleted a, Sy_UserGroup b, Sy_UserPurview c
where a.PurviewGroupID=b.PurviewGroupID and b.UserID=c.UserID and
c.FormID=a.FormID

请各位帮忙看看,那里有问题
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hawkeyes_yq 2002-12-28
  • 打赏
  • 举报
回复
呵呵,这个问题解决了。我原来是在程序中使用DataSet.Delete删除数据的,
现在改用SQL语句后,这个问题就解决了。但是我想知道,为什么会有这样的问题?
diruser 2002-12-28
  • 打赏
  • 举报
回复
帮你up一下,学习。。。
hawkeyes_yq 2002-12-28
  • 打赏
  • 举报
回复
自己手动顶一下
h_q_l 2002-12-27
  • 打赏
  • 举报
回复
好象跟Delphi中Cursor有关。曾经我也遇到这个问题,关注。
hawkeyes_yq 2002-12-27
  • 打赏
  • 举报
回复
各位帮个忙吧~

2,496

社区成员

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

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