【发布时间】:2020-05-23 17:30:53
【问题描述】:
我有一个不同的触发器,并希望为不同的模式执行程序以提取数据。
使用触发器中的参数执行过程不起作用。
create or replace TRIGGER TRIGER_LEAD_INSERT
AFTER INSERT ON AT_NEO_CM.LEAD_INFORMATION
FOR EACH ROW
DECLARE
--PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
IF :new.LEAD_REFERENCE_NUMBER IS NOT NULL THEN
AT_NEO_CAS_LMS.PKG_LEAD_DATA.USP_INSERT_NEWAPP(:NEW.LEAD_REFERENCE_NUMBER,:NEW.ID );
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO LEADDATA VALUES( :NEW.ID, :NEW.LEAD_REFERENCE_NUMBER,2322, 'NO DATA FOUND');
END TRIGER_LEAD_INSERT;
在过程中使用具有相同主键的另一个表作为参数传入过程中。
【问题讨论】:
-
您能否详细说明
executing procedure with parameter in triggre is not working.到底发生了什么(或没有发生)?该程序的预期目的是什么? -
另外,您使用的是哪个版本的 Oracle?它可能会影响答案。
-
我在数据库 Test 和 Test1 中有两个模式,Test 有一个触发应用的表 Lead_information,而 test1 有表 Leaddata,我试图在另一个模式中的 Leaddata 中插入少量信息。哪个没有插入,而且我在同一个 test1 模式中使用参数但值没有通过这个过程,因为在触发器中找不到数据错误。
-
我不清楚什么代码会在您的触发器中引发
NO_DATA_FOUND异常,没有 SELECT... -
程序有 select 语句会引发异常。未找到作为参数传入过程的相同 id 的数据
标签: oracle plsqldeveloper