Il codice seguente è stato testato su di un database Oracle e mostra come si possono eseguire più operazioni in una store procedure puntando su diverse tabelle.
Ci sono esempi di select, update, delete, condizioni e loop.
Si possono portare le seguenti istruzioni anche su di un altro database modificando opportunatamente la sintassi.
(Non sempre vengono utilizzate le stesse istruzioni su db diversi).
CREATE OR REPLACE PROCEDURE TSP.procedure_example( typeMarket IN varchar2, inDayMarket IN varchar2 ) is selectCursor sys_refcursor; rowToUpdate TSP.tbl_market_1%ROWTYPE; begin -- example of condition and select on first table IF procedure_example.typeMarket='CONSUMER' THEN open selectCursor for SELECT TSP.tbl_market_1.* FROM TSP.tbl_market_1 WHERE ((tbl_market_1.field_example_1 = 1); -- loop example: update for all records of 'select' on second table LOOP fetch selectCursor into rowToUpdate; exit when selectCursor%NOTFOUND; update TSP.tbl_market_2 set field_example_3=10, where TSP.tbl_market_2.id = rowToUpdate.id; END LOOP; close selectCursor; END IF; -- example update on first table update TSP.tbl_market_1 set field_example_2 = 0 where day_market = procedure_example.inDayMarket and market_ref = procedure_example.typeMarket; -- example delete on second table delete from TSP.tbl_market_2 where day_market = procedure_example.inDayMarket; end;