Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108121
    Avatar de Sofia MackenzieSofia Mackenzie
    Participante

      Pessoal Boa noite,

      Sou iniciante em banco de dados e estou estudando por conta. Queria tirar uma dúvida, por favor, com relação a execução de trigger.

      Pesquisei que ao final do meu comando, preciso colocar / em algumas ferramentas, como por exemplo, o SQL Plus.

      CREATE OR REPLACE TRIGGER Print_salary_changes
      BEFORE DELETE OR INSERT OR UPDATE ON Emp_tab
      FOR EACH ROW
      WHEN (new.Empno > 0)
      DECLARE
      sal_diff number;
      BEGIN
      sal_diff := :new.sal – :old.sal;
      dbms_output.put(‘Old salary: ‘ || :old.sal);
      dbms_output.put(‘ New salary: ‘ || :new.sal);
      dbms_output.put_line(‘ Difference ‘ || sal_diff);
      END;
      /

      Essa barra significa ativação da minha trigger ou indica final da trigger e assim assume que é para ser executado?

      As ferramentas como sql developer e o toad for oracle precisam dessa /?

      Para procedure e package também é necessário a utilização dessa barra?

      Fui tentar executar um script create_trigger.sql no sqlplus, porém não obtive mensagem de erro ou sucesso.

      SQL> @create_trigger.sql
      200

      Como no script não coloquei o /, se eu tivesse feito como no exemplo abaixo, teria sido executado?

      SQL> @create_trigger.sql
      200 /

      É uma dúvida bem simples, mas por estar estudando sozinha eu vim pedir ajuda aqui =)

      Muito obrigada

      #108122
      Avatar de rmanrman
      Participante

        @Sofia Mackenzie

        A “/” indica final de bloco, assim como “;” indica final de linha.

        Desta forma toda vez que iniciar um bloco com BEGIN .. END; deve ser finalizado com uma “/”

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress