繁体   English   中英

触发+变异错误+级联更新

Trigger + mutation error + Cascade Update

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

对于一项任务,我尝试使用Oracle将主键触发为其外键,以进行级联更新。 我无法在外键中使用级联更新。

下面是我的代码,生成相应的错误:

CREATE or REPLACE trigger TR_PRODNO_FK_UPDATE
   /* trigger executes BEFORE
      an UPDATE of prodNo on the Product table */
   before update of prodNo on tbProduct
   /* trigger executes for each ROW */
   for each row

   /* begins a PL/SQL Block */
   begin
      /* update prodNo on tbProduct */
      UPDATE tbProduct a
         SET a.prodNo = :new.prodNo
         WHERE :old.prodNo = a.prodNo;
      /* update the prodNo on tbComponent */
      UPDATE tbComponent b
         SET b.prodNo = :new.prodNo
         WHERE :old.prodNo = b.prodNo;
      /* send message to output */
      dbms_output.put_line (
         '*** Related rows in the
            PRODUCT and COMPONENT table updated - TR_PRODNO_FK_UPDATE trigger');
   end TR_PRODNO_FK_UPDATE;
/

UPDATE tbProduct
    SET prodNo = '104'
    WHERE prodNo = '100';

在此处输入图片说明

这是怎么了? 有任何想法吗?

问题暂未有回复.您可以查看右边的相关问题.
1 级联更新SQL触发器

我在两个不同的数据库Lab15DB_1和Lab15DB_2中有两个表。 父表是作者,子表是Book。 他们来了: 我想通过触发器创建级联更新。 这是尝试在Author表上创建用于级联更新的触发器: 情况@intRowCount = 1没问题,但是我遇到了情况@i ...

3 使用触发器实现UPDATE CASCADE

所以我有这个特殊属性( Sportcode )我被要求通过编写触发器来实现更新级联。 此特定属性如下表所示: 体育 如何使用触发器实现Sportcode更新级联? 编辑: 我不确定这是否是我应该做的,但我提出了这样的事情: ...

4 标识是否由ON UPDATE CASCADE触发了Update触发器

我的数据库中有逻辑,将在设置“已完成”状态后阻止对表的更改。 目前,这是通过AFTER UPDATE触发器实现的。 但是,对于表中的字段之一,我也有一个ON UPDATE CASCADE外键,应该可以成功。 当前,它被UPDATE触发器阻止。 因此,我的问题是: 1.是否可以 ...

10 多个表中的MySQL更新…触发? 级联?

我有三个关联的表。 类别包含用户输入值的选项,以下简化了这些... 我的问题是处理停用群组的最佳方法是什么。 我过去所做的工作是查找选项ID,其中group_id =要停用的组ID。 然后,我将返回的ID列表作为清单并停用user_option,如... 然后我更新选项,然 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM