Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ao incluir EXCEPTION , começou a dar erro.

Fiz a alteração no código e apareceu a seguinte mensagem de erro:

ERROR: condição de exceção "undefined_columm" é desconhecida CONTEXT: compilação da função PL/pgSQL "cria_instrutor" próximo a linha 41 SQL state: 42704

Por conseguinte, ao incluir João, também não consigo.

Meu código está da seguinte forma:

CREATE OR REPLACE FUNCTION cria_instrutor ()
    RETURNS TRIGGER AS $$
         DECLARE
             media_salarial DECIMAL;
             instrutores_recebem_menos INTEGER DEFAULT 0;
             total_instrutores INTEGER DEFAULT 0;
             salario DECIMAL;
             percentual DECIMAL(5,2);
        BEGIN
            /*NEW nome NEW salario*/
            SELECT AVG(instrutor.salario) INTO 
                media_salarial FROM instrutor
                WHERE id <> NEW.id;    

            IF NEW.salario > media_salarial THEN
                INSERT INTO log_instrutores (informacao)
                VALUES(NEW.nome ||' recebe acima 
                da média');

            END IF;

            FOR salario IN SELECT instrutor.salario 
                FROM instrutor WHERE id <> NEW.id LOOP
                total_instrutores := total_instrutores + 1;

                IF NEW.salario > salario THEN
                    instrutores_recebem_menos := 
                    instrutores_recebem_menos + 1;
                END IF;
            END LOOP;

            percentual = instrutores_recebem_menos::
            DECIMAL/total_instrutores::DECIMAL
            * 100;

            INSERT INTO log_instrutores(informacao)
                VALUES(NEW.nome || ' recebe 
                   mais que '|| percentual || '% da 
                   grade de instrutores');

            RETURN NEW;
        EXCEPTION
            WHEN undefined_columm THEN
                RETURN NEW;
            END;
$$ LANGUAGE plpgsql;

Agradeço quem puder me ajudar a encontrar o erro e solucionar.
1 resposta
solução!

Descobri o erro. Digitei columm ao invés de column. Valeu!