SQL_TRIGGER1.htm |
Oracle And PostgreSQL :Triggers |
Both Oracle and PostgreSQL have triggers and the
create trigger
statement is similar, but the code executed
by the trigger for PostgreSQL must be in a stored function written by
the user, while Oracle has the option of write "create
trigger statement" .

|
OBJECTIVES: trigger - on an event of updating a table
- Step1: creating log table
- ORACLE:
create table emp_copy1_log(owner varchar2(30),time date)
- POSTGRESQL
postgres=# SELECT current_time, 'now'::time AS time;
- Step 2: creating copy of emp table
create table emp_copy1 as select * from emp
- Step3 : creating trigger using DDL tool
create trigger emp_biud_copy1
before insert or update or delete
on emp_copy1
begin
insert into emp_copy1_log( owner, time )
end
- Step 4 : Update and Query emp_copy1 table
- //update using DDL TOOL
update emp_copy1 set sal = sal * 2;
//CONFIRM THE CHANGES
//USING SQL QUERY (DML) TOOL
select * from emp_copy1
- Step 5 : check emp_copy1_log table
- select * from emp_copy1_log;
- OPTIONAL STEPS :
- Step 6 Dropping emp_copy1
- DROP TABLE emp_copy1
- check emp_copy1_log table
- Step 7 droping emp_copy1_log
|
ORACLE EMP TABLE; 
|
Create table which will be manipulated with a trigger, to an event
of updating data/row in another table.
create table emp_copy1_log(owner varchar2(30),time date)

Now if we query the above table , table was empty.

|
Step 2:creating table emp_copy1 
emp_copy1

Step 3: creating trigger:
create or replace trigger emp_biud_copy1 before
insert or update or delete on emp_copy1 begin insert into
emp_copy1_log( owner, time ) values( user, sysdate ); end;

|
Now Update the table emp_copy1
update emp_copy1 set sal = sal*1.1 /* ( no semicolon)*/

Verifying updates:

|
Testing the triggering effect 
|
|
|