Estive pesquisando sobre triggers "instead of" e vi que as mesmas são aplicadas a views. Porém acho que não compreendi corretamente o conceito, ou implementei algo de forma errada, por isso peço uma ajuda.
Tendo como base a estrutura abaixo:
CREATE TABLE teste1
(
campo1 VARCHAR2(50)
/
CREATE TABLE teste2
(
campo2 VARCHAR2(50)
)
/
CREATE OR REPLACE VIEW vw_teste12 aS
SELECT t1.*
FROM teste1 t1,
teste2 t2
WHERE t1.campo1 = t2.campo2
/
CREATE OR REPLACE TRIGGER trg_teste12
INSTEAD OF INSERT OR UPDATE ON vw_teste12
FOR EACH ROW
BEGIN
Raise_Application_Error(-20001,'Disparando a trigger');
END;
)
A minha necessidade é disparar uma trigger quando essa condição for atendida, por isso pensei em criar a trigger na view. Porém consigo inserir normalmente nas duas tabelas, com valores que atendem ao critério para ser exibido na view.
A minha dúvida é se o que quero fazer é possível, e caso sim, o que eu estou fazendo errado.
Obrigado.