Create a trigger to call a procedure [message #650061] |
Wed, 13 April 2016 16:13 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](http://www.gravatar.com/avatar/2b882ee5c20e677afffae715916200d7?s=64&d=mm&r=g) |
Nagesh1985
Messages: 10 Registered: April 2016
|
Junior Member |
|
|
I would like to create a trigger to check for a condition on a table and then call a procedure
Table EMP:
Name Null? Type
----------------------------------------- -------- ----------------------------
ACTION_LEVEL_KEY NOT NULL VARCHAR2(50)
ACTION_LEVEL_ID NOT NULL NUMBER(10)
DTACTDATEKEY NOT NULL TIMESTAMP(3)
TDDATEKEY VARCHAR2(21)
NREVID NUMBER(10)
LACTIONID NUMBER(10)
LACTIONTYPE NUMBER(10)
LSTATE NUMBER(10)
LSTATUS NUMBER(10)
SACTACTION NUMBER(10)
SACTNOTES NVARCHAR2(255)
SACTNOTES2 NVARCHAR2(255)
LD_QUEID NUMBER(10)
SREASON_CODE NVARCHAR2(5)
Procedure PP_CLEANUP:
CREATE OR REPLACE PROCEDURE "PP_CLEANUP" (v_ACTION_LEVEL_KEY IN VARCHAR2,
v_ACTION_LEVEL_ID IN NUMBER,
v_STARTTIME IN TIMESTAMP,
v_ENDTIME IN TIMESTAMP)
as
BEGIN
DELETE ALERTS
WHERE DD_DATE BETWEEN v_STARTTIME AND v_ENDTIME
AND ACTION_LEVEL_KEY = v_ACTION_LEVEL_KEY
AND ACTION_LEVEL_ID = v_ACTION_LEVEL_ID;
END;
The trigger to should for the condition where SACTNOTES on EMP table contains 'SAMPLE' after each insert and delete and then call the procedure PP_CLEANUP
*BlackSwan corrected {code} tags
[Updated on: Wed, 13 April 2016 16:27] by Moderator Report message to a moderator
|
|
|
|
Re: Create a trigger to call a procedure [message #650063 is a reply to message #650062] |
Wed, 13 April 2016 17:34 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](http://www.gravatar.com/avatar/2b882ee5c20e677afffae715916200d7?s=64&d=mm&r=g) |
Nagesh1985
Messages: 10 Registered: April 2016
|
Junior Member |
|
|
The error that I got
CREATE OR REPLACE TRIGGER TEST_RECVID
AFTER INSERT ON EMP
FOR EACH ROW
WHEN (NEW.SACTNOTES LIKE '%DELETE ALERTS%')
DECLARE
V_ACTION_LEVEL_KEY VARCHAR2;
V_ACTION_LEVEL_ID NUMBER;
V_STARTTIME TIMESTAMP;
V_ENDTIME TIMESTAMP;
BEGIN
PP_CLEANUP();
END;
/
Error message:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/20 PLS-00215: String length constraints must be in range (1 ..
32767)
7/1 PL/SQL: Statement ignored
7/1 PLS-00306: wrong number or types of arguments in call to
'PP_CLEANUP'
*Please learn how to use {code} tags correctly
[Updated on: Wed, 13 April 2016 18:59] by Moderator Report message to a moderator
|
|
|
|
|