Considere a existência de um procedure escrito em PL/SQL denominado verifica_votacao, que aceita dois parâmetros: um para a string do ID do candidato e outro para o número de votos obtidos em uma eleição.
CREATE OR REPLACE PROCEDURE verifica_votacao(id_do_cand NUMBER, num_vot_cand NUMBER) IS /* implementação do restante do procedure */
Um DBA Oracle criou um trigger verifica_votacao_trg na tabela candidatos que é acionado antes de uma operação INSERT ou UPDATE. Em cada linha o trigger deve chamar o procedure verifica_votacao para executar a lógica de negócios e deve especificar o novo ID de candidato e o novo número de votos para os parâmetros do procedure.
CREATE OR REPLACE TRIGGER verifica_votacao_trg
...I... INSERT OR UPDATE OF id_cand, num_vot
ON candidatos
FOR EACH ROW
BEGIN
verifica_votacao(...II...);
END;
/
SHOW ERRORS
As lacunas I e II devem ser preenchidas, correta e respectivamente, por
INSTEAD OF − id_cand, num_vot
INSTEAD OF − new.id_cand, new.num_vot
PRIOR − :new.id_cand, :new.num_vot
BEFORE − new id_cand, new num_vot
BEFORE − :new.id_cand, :new.num_vot