Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kyzin

[Resolvido] Ajuda trabalho PL/SQL

Recommended Posts

4 vide

 5 pesquise por TO_CHAR e syntax de FUNCTIONS

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Zaratruta
      http://stackoverflow.com/questions/34290996/constraints-regarding-new-and-old-in-mysql-triggers


      No livro "MySQL Administrator's Bible", os autores discutem restrições sobre como combinar eventos, tempos de disparo e as palavras-chave OLD e NEW:

      -BEFORE INSERT: NEW é suportado BEFORE INSERT. BEFORE não suporta OLD.

      -AFTER INSERT: AFTER não suporta NEW. não faz sentido usar OLD com AFTER INSERT.

      -BEFORE UPDATE: NEW é suportado com BEFORE UPDATE. BEFORE não suporta OLD.

      -AFTER UPDATE: AFTER não suporta NEW. AFTER UPDATE suporta OLD.

      -BEFORE DELETE: Não faz sentido usar NEW com BEFORE DELETE. BEFORE não suporta OLD.

      -AFTER DELETE: AFTER não suporta NEW. OLD é suportado com AFTER DELETE.

      Assim, de cordo com o livro, eu não posso usar NEW quando estou usando AFTER. No entanto, Eu estou fazendo exatamente isso no trigger abaixo.
      Eu uso ele para armazenar os empregados inseridos em uma tabela backup employee_history

      CREATE TRIGGER insert_emplyee_history AFTER INSERT ON EMPLOYEE FOR EACH ROW INSERT INTO EMPLOYEE_HISTORY VALUES (NEW.NOME,NEW.SSN,NEW.SALARIO,NEW.DNO);

      Este trigger funciona como esperado no MySQL 5.7.

      Será que o livro está errado? Talvez essas restrições tenham mudado nas últimas versões (eu uso a 5.7 e o livro usa a 5.0).

      alguém poderia me dizer exatamente quais são as restrições envolvidas nesse caso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.