Can we use commit or rollback in trigger? If yes, then how. Please explain with a suitable example?
Answer Posted / santosh kumar
Yes ,You can Commit inside the trigger.
But for this you have to make this trigger transaction to be a Independent transaction from its parent transaction, You can do this by using Pragma. Pragma AUTONOMOUS_TRANSACTION allow you to build the Indepadent(child) Transaction,started by another. Shold be declare in DECLARE section of any subprogram.
Used to make Modular and Resuable Blocks. if you need the example then ask to me.
CREATE OR REPLACE TRIGGER TRIG_ARG
AFTER INSERT ON TAB1
DECLARE
PRAGMA AUTONOMOUNS_TRNASACTION
BEGIN
INSERT INTO LOG VALUES(SYSDATE,'INSERT ON TAB1');
COMMIT;
END;
/
OR
CREATE OR REPLACE TRIGGER t_trigger
AFTER INSERT ON t1 FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
i PLS_INTEGER;
BEGIN
SELECT COUNT(*)
INTO i
FROM t1;
INSERT INTO t2
VALUES
(i);
COMMIT;
END;
/
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What does 0 mean in sql?
How do I run sql profiler?
What is the use of function "module procedure" in pl/sql?
Does pl sql work in mysql?
What are the events on which a database trigger can be based?
What is a relationship and what are they?
what is the difference difference between procedure and packages
Write a sql query to convert all character to uppercase after hypen.
What does rownum mean in sql?
How do I order by ascending in sql?
What is meant by <> in sql?
What is optimistic concurrency control? : Transact sql
What is the importance of sqlcode and sqlerrm?
Does db2 use sql?
How do you delete a table?