Stack Overflow Test Plan for: http://stackoverflow.com/questions/24276153/oracle-pl-sql-with-automatic-values (prepared by Richard Pascual) CREATE TABLE PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME" varchar2(20), "PROCESS1" int, "PROCESS2" int, "WEIGHT" int, "TOTAL_WEIGHT" number generated always as ("PROCESS1" + "PROCESS2")*"WEIGHT", "RECORDED_DATE" date); INSERT ALL INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM1', 0, 0, 10, TO_DATE('01-JAN-2014','DD-MON-YYYY')) INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM2', 1, 1, 10, TO_DATE('01-JAN-2014','DD-MON-YYYY')) INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM3', 1, 1, 15, TO_DATE('01-JAN-2014','DD-MON-YYYY')); INSERT ALL INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM1', 2, 5, 10, TO_DATE('14-FEB-2014','DD-MON-YYYY')) INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM2', 3, 1, 10, TO_DATE('14-FEB-2014','DD-MON-YYYY')); INSERT ALL INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT", "RECORDED_DATE") VALUES ('ITEM1', 2, 5, 55, TO_DATE('14-MAR-2014','DD-MON-YYYY')); INSERT ALL INTO PROCESSED_PRODUCT_WEIGHT ("PRODUCT_NAME", "PROCESS1", "PROCESS2", "WEIGHT") VALUES ('ITEM3', 2, 1, 20, TO_DATE('01-APR-2014','DD-MON-YYYY')); SELECT * FROM PROCESSED_PRODUCT_WEIGHT ORDER BY RECORDED_DATE ASC, PRODUCT_NAME ASC //