1. /* web example
CREATE OR REPLACE TRIGGER TEST_SEQ_TRIGGER
BEFORE INSERT ON TESTUSER.EMPLOYEE
FOR EACH ROW
BEGIN
IF :new.SSN IS NULL THEN
SELECT TEST_SEQUENCE.nextval INTO :new.SSN FROM DUAL;
END IF;
END;
web example end
*/
create or replace trigger Work_Center_Insert_Tr
before insert on Work_Center
for each row
DECLARE
v_Work_Center_Id
Work_Center.Work_Center_Id%TYPE;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO v_Work_Center_Id
FROM dual;
:NEW.Work_Center_Id:=v_Work_Center_Id;
END;
CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
:NEW.evaluation_id := evaluations_sequence.NEXTVAL;
END;
2. -- The title of the NEW_EVALUATION_TRIGGER pane is in italic
font, indicating that
--the trigger is not yet saved in the database.
--In the CREATE TRIGGER statement, replace NULL with this:
--:NEW.evaluation_id := evaluations_sequence.NEXTVAL
CREATE OR REPLACE TRIGGER TEST_SEQ_TRIGGER
BEFORE INSERT ON TESTUSER.EMPLOYEE
FOR EACH ROW
BEGIN IF :new.SSN IS NULL
THEN SELECT TEST_SEQUENCE.nextval
INTO :new.SSN
FROM DUAL;
END IF;
END;
describe customer;
-- Sample trigger
CREATE OR REPLACE TRIGGER employee_tr
BEFORE INSERT ON employee
FOR EACH ROW
DECLARE v_employee_id employee.employee_id%TYPE;
BEGIN
SELECT employee_ID_SEQ.NEXTVAL
INTO v_employee_id
FROM dual;
3. :NEW.employee_id:=v_employee_id;
END;
CREATE OR REPLACE TRIGGER dept_tr
BEFORE INSERT ON departments
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
SELECT dept_seq.NEXTVAL
INTO :new.id
FROM dual;
END;
--/*Test it using the automatic and manual population methods.
/*SQL> INSERT INTO departments (description)
2 VALUES ('Development');
1 row created.
*/
SELECT * FROM departments;
ID DESCRIPTION
---------- --------------------------------------------------
1 Development
1 row selected.
SQL> INSERT INTO departments (id, description)
2 VALUES (dept_seq.NEXTVAL, 'Accounting');
4. 1 row created.
SQL> SELECT * FROM departments;
ID DESCRIPTION
---------- --------------------------------------------------
1 Development
2 Accounting
*/
--
=================================================================
===========================
-- Trigger 1
==
describe Customer;
insert into Customer
(
NAME
,streET_ADDRESS
,CITY
,STATE
,ZIP
,YTD_PURCHASES
,CREDIT_LIMIT
,OUTSTANDING_BALANCE
,DISCOUNT_PERCENT
,LAST_UPDATED_BY
,LAST_UPDATE_DATE
)
values
(
'Amy Cashier'
,'548 Main Street'
,'Louisville'
,'KY'
,'50404'
,123.45
,5000.00
,123.45
,10
,USER
,SYSDATE
);
CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
SELECT dept_seq.NEXTVAL
INTO :new.id
5. FROM dual;
END;
--MODEL FOLLOWS
create or replace trigger Work_Center_Insert_Tr
before insert on Work_Center
for each row
DECLARE
v_Work_Center_Id Work_Center.Work_Center_Id%TYPE;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO v_Work_Center_Id
FROM dual;
:NEW.Work_Center_Id:=v_Work_Center_Id;
END;
--MODEL ABOVE
ALTER Customer
DISABLE ALL TRIGGERS;
DROP Customer_Insert_Tr;
create or replace trigger Customer_Insert_Tr
before insert on Customer
for each row
declare v_Customer_Id Customer.Customer_Id%type;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO :v_CUSTOMER_ID
FROM dual;
:new.Customer_id := v_customer_Id;
6. END;
-- Trigger 2
describe Order_Master;
drop trigger Order_Archive_Tr;
create or replace trigger Order_Master_Insert_Tr
before insert on Order_Master
for each row
--when (new.Order_Id is null);
DECLARE
v_Order_Id Order_Master.Order_Id%TYPE;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO :NEW.Order_Id
--v_Order_Id
FROM dual;
-- :NEW.Order_Id:=v_Order_Id;
END;
insert into order_Master
(Order_Date
,
Customer_Id
,
LAST_UPDATED_By
,
LAST_UPDATE_DATE
)
values
(
7. SYSDATE
,
55
,
'APPAS'
,SYSDATE
);
-- Trigger 3
select * from Product;
describe Product;
create or replace trigger Product_Insert_Tr
before insert on Product
for each row
DECLARE v_Product_Id Product.Product_Id%TYPE;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO v_Product_Id
FROM dual;
:NEW.Product_Id:=v_Product_Id;
END;
-- Trigger 4
SELECT * FROM wORK_cENTER;
describe Work_Center;
create or replace trigger Work_Center_Insert_Tr
before insert on Work_Center
for each row
8. DECLARE
v_Work_Center_Id Work_Center.Work_Center_Id%TYPE;
begin
SELECT Pvfc_Seq.NEXTVAL
INTO v_Work_Center_Id
FROM dual;
:NEW.Work_Center_Id:=v_Work_Center_Id;
END;
insert into Work_Center
(name
,Capacity
,Last_updated_by
,
Last_Update_date
)
values
('Wausau, WI)'
,
250
,
USER
,
SYSDATE
);
-- Trigger 5
describe Customer;
describe Customer_History;
create or replace trigger Customer_Archive_Tr
before insert on Customer
for each row