【问题标题】:Oracle Compound Trigger issueOracle 复合触发器问题
【发布时间】:2016-05-21 08:51:03
【问题描述】:

(使用 Oracle 11G)

所以我有这个 UPDATE 触发器,它的工作是从我的 ccv_p TABLE 获取一行并将其插入到我的 oldRecord RECORD 在每个语句之前(这是一个复合触发器),然后在之后,我想在每行语句之后通过 oldRecord 获取该行的PRC_ID...虽然似乎不起作用,但它不会在我的测试表中插入任何内容。通过一些调试,我发现我的问题在于 select 语句,但我在 Oracle 方面并没有太多经验……有什么想法吗?下面是一些重要的sn-ps代码:

oldRecord CCV_P%ROWTYPE;

select ccv_p.* into oldRecord from ccv_p inner join parcel on ccv_p.prc_id = parcel.prc_id where ccv_p.PRC_ID = :new.PRC_ID;

insert into TEST$_TABLE (TEST$_TABLE.num) VALUES (oldRecord.PRC_ID);

【问题讨论】:

  • 您好,如果您能添加一些信息,例如创建触发器语句,将会很有用。

标签: oracle oracle11g triggers


【解决方案1】:

是否为 CCV_P 表定义了触发器? 在这种情况下,您不需要查询该表。您可能想要做的是:

1) 填充您的记录类型

my_rec.PRC_ID := :old.PRC_ID;

2) 插入表格

insert into TEST$_TABLE (TEST$_TABLE.num) VALUES (:old.PRC_ID);

这当然不适用于插入

【讨论】:

  • 谢谢,这个答案很有帮助(抱歉回复晚了!对如何在这个网站上回复感到困惑)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 2020-12-30
  • 2022-01-20
相关资源
最近更新 更多