4D v14.3Trigger event |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Trigger event
Trigger event
Quando chamado de dentro de um trigger, o comando Trigger event retorna um valor numérico que indica o tipo do evento do banco, em outras palavras, a razão pela qual é chamado o trigger. As seguintes constantes pré-definidas são oferecidas pelo 4D no tema Trigger Events:
Dentro de um trigger, se realizar operações de banco de dados sobre vários registros, pode encontrar condições (geralmente registros bloqueados) que impedem ao trigger executar corretamente as operações para as quais for chamado. Um exemplo desta situação é a atualização de vários registros na tabela [Produtos] quando se adiciona um registro a tabela [Faturas]. Neste ponto, deve parar as operações do banco e devolver um erro de maneira que o processo chamante saiba que a petição não pode ser realizada. O processo chamante deve então poder cancelar, durante a transação, as operações incompletas realizadas pelo trigger. Quando isso acontece, você precisa saber, de dentro do trigger, se você estiver em uma transação antes mesmo de tentar fazer algo. Para fazer isto, utilize o comando In transaction. Em 4D não há limite, além da quantidade da memória disponível, para a chamada de triggers em cascada. Para otimizar a execução de um trigger, pode escrever o código de seus triggers dependendo não apenas do evento do banco, mas também do nível da chamada quando os triggers são chamados em cascada. Por exemplo, durante o evento de banco deletion para a tabela [Faturas], pode não realizar a atualização do campo [Clientes] Vendas brutas se a eliminação do registro da tabela [Faturas] é parte da eliminação em cascada de faturas relacionadas com o registro na tabela [Clientes] que está sendo eliminado. Para fazer isto, utilize os comandos Trigger level e TRIGGER PROPERTIES. Utilize o comando Trigger event para estruturar seus triggers desta maneira: // Trigger da tabela [qualquerTabela] |
PROPRIEDADES
Produto: 4D
HISTÓRIA
Modificado: 4D v11 SQL Release 2 VER TAMBÉM
In transaction ARTICLE USAGE
Manual de linguagem 4D ( 4D v14 R3) Inherited from : Database event ( 4D v11 SQL Release 6) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||