We'll pick an arbitrary operation for UPDATE (in this case setting the OBJECT_NAME to lower case).The past few chapters have focused on basic query techniques, all centered around the task of getting data out of a database.
if inserting then INSERT INTO SRC_TBL (CFG_NAME, CFG_VALUE) VALUES(: NEW. CFG_VALUE); elsif updating then UPDATE SRC_TBL SET CFG_VALUE = : NEW. Is it possible to make a grid edit fire the trigger?
Or does Sql Dev offer an alternate native grid which could fire the trigger?
Cursors facilitate subsequent processing in conjunction with the traversal, such as retrieval, addition and removal of database records.
The database cursor characteristic of traversal makes cursors akin to the programming language concept of iterator.
Another way of dealing with different (groups of) users is to implement Fine Grained Access Control (or Virtual Private Databases or Row Level Security).
RLS or VPD or FGAC is one of the features of the Oracle database with lots of different names.CREATE OR REPLACE TRIGGER TRIGGER1 INSTEAD OF INSERT OR UPDATE OR DELETE ON PO_COSTED_BOM_V BEGIN UPDATE SRC_TBL SET CFG_VALUE = : NEW. CFG_NAME; IF SQL%NOTFOUND THEN INSERT INTO SRC_TBL (CFG_NAME, CFG_VALUE) VALUES(: NEW. CFG_VALUE); END IF; END; Detecting the DML Operation that Fired a Trigger If more than one type of DML operation can fire a trigger (for example, ON INSERT OR DELETE OR UPDATE OF emp), the trigger body can use the conditional predicates INSERTING, DELETING, and UPDATING to check which type of statement fire the trigger.Within the code of the trigger body, you can execute blocks of code depending on the kind of DML operation that fired the trigger: ... END IF; extra credit: currently, manual update in the grid of the view in Sql Dev is treated as a direct edit of the view (which therefore fails, since my view is not updatable)-- it does not fire the trigger.By using the same mechanics, a SQL procedure can also define a result set and return it directly to the caller of the SQL procedure or to a client application.A cursor can be viewed as a pointer to one row in a set of rows.Cursors are used by database programmers to process individual rows returned by database system queries.