How to maintain the history of code changes of pl/sql?
Answer Posted / guru
--
CREATE TABLE SOURCE_HIST -- Create
history table
AS SELECT SYSDATE CHANGE_DATE, USER_SOURCE.*
FROM USER_SOURCE WHERE 1=2;
CREATE OR REPLACE TRIGGER change_hist --
Store code in hist table
AFTER CREATE ON SCOTT.SCHEMA --
Change SCOTT to your schema name
DECLARE
BEGIN
if DICTIONARY_OBJ_TYPE in ('PROCEDURE', 'FUNCTION',
'PACKAGE', 'PACKAGE BODY', 'TYPE')
then
-- Store old code in SOURCE_HIST table
INSERT INTO SOURCE_HIST
SELECT sysdate, user_source.* FROM USER_SOURCE
WHERE TYPE = DICTIONARY_OBJ_TYPE
AND NAME = DICTIONARY_OBJ_NAME;
end if;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20000, SQLERRM);
END;
/
show errors
--
| Is This Answer Correct ? | 5 Yes | 2 No |
Post New Answer View All Answers
what are the different tables present in mysql? : Sql dba
Can we call a function containing dml statements in a select query?
Does a join table need a primary key?
How is pl sql different from sql?
What is an index in sql with example?
What is trigger explain it?
How do I find duplicates in two columns?
Explain the difference between cursor declared in procedures and cursors declared in the package specification?
explain the advantages and disadvantages of stored procedure? : Sql dba
Can a composite key be null?
What is hibernate and its relation to sql?
Why do we use subquery?
What are the types of index in sql?
How to select 10 records from a table?
What is scope and visibility in PL/SQL?