Estou fazendo uma trigger na seguinte condição: Preciso impedir INSERT, UPDADE e DELETE na tabela PROMOCAO, desde de que este registros esteja com um determinado tipo na tabela MILITAR. Estou tendo grande dificuldade por causa desta consulta na tabela MILITAR. Dá erro no SQL, eu já tentei colocá-lo de outra maneira, mas retorna erro dizendo que não aceita esse tipo de consulta. O PLSQL ficou da seguinte maneira:
CREATE OR REPLACE TRIGGER impede_promocao
BEFORE INSERT OR UPDATE OR DELETE ON promocao
FOR EACH ROW
DECLARE
v_identificador promocao.mil_pes_identificador_cod%TYPE;
v_mil_type VARCHAR2(1);
...
BEGIN
v_identificador := :old.mil_pes_identificador_cod;
IF (USER <> 'RH_QUADRO' OR USER <> 'REPADMIN') THEN
SELECT mil_type FROM militar
INTO v_mil_type
WHERE pes_identificador_cod = v_identificador;
IF v_mil_type = 1 THEN
IF INSERTING THEN
RAISE v_erro_insert;
ELSIF UPDATING THEN
RAISE v_erro_update;
ELSIF DELETING THEN
RAISE v_erro_delete;
...
END;
OBRIGADA!!!!