关于触发器的问题?

leejelen 2010-09-12 10:39:43
我有一个评论表,字段是:
id SourceTable SourceId

id是自增字段,SourceTable是这个评论属于的来源表,例如0代表新闻表,1代表产品表,SourceId是分别来自不同表的对应的ID,例如新闻表对应新闻ID,产品表对应产品ID, 现在我要建立一个触发器。当我删除新闻表或者产品表的时候。分别删除相应的评论数据,SourceId可能会存在一样的情况。所以要触发器中要通过SourceTable这个字段来判别当前删的是哪些评论,请问咱们判别呢?写成两个好像不行!
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leejelen 2010-09-14
  • 打赏
  • 举报
回复
失望!
leejelen 2010-09-13
  • 打赏
  • 举报
回复
mssql,我发错了。已经去那边发了。
ACMAIN_CHM 2010-09-12
  • 打赏
  • 举报
回复
你的数据库是MYSQL还是 MS SQL SERVER?
leejelen 2010-09-12
  • 打赏
  • 举报
回复
三级的SourceTable可能有多个值,所以我无法判断到当前删除二级的时候。二级的触发器怎么建立,会使得自己去删除三级的相关数据!
leejelen 2010-09-12
  • 打赏
  • 举报
回复
其实这个问题我没写清楚。我现在遇到的是有三级的情况
一级的时候我写了触发器,

CREATE TRIGGER tri_A ON tb_A
FOR DELETE
AS
BEGIN
DELETE FROM spt_C WHERE SourceTable = 0 AND SourceId IN (SELECT AId FROM DELETED)
END


表A是一级的。C是二级的。现在我删除的时候就触发了这个触发器。就会删除二级的。我想在二级那里也建立触发器,这样的话。还会出发二级上面的触发器,三级的表结构也和那个一样,但是,我区分不了当前我删除的数据是属于哪个一级表的,所以无法获取当三级的时候,是要删除哪些数据!
ACMAIN_CHM 2010-09-12
  • 打赏
  • 举报
回复
你现在的触发器是怎么写的?贴了来,大家帮你改一下。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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