Se forem executados comandos SQL na função de gatilho, e estes comandos acessarem a tabela para a qual o gatilho se destina, então deve-se estar ciente das regras de visibilidade dos dados, porque estas determinam se estes comandos SQL enxergam as mudanças nos dados para os quais o gatilho foi disparado. Em resumo:
Os gatilhos no nível-de-instrução seguem regras simples de visibilidade: nenhuma das modificações feitas pela instrução é enxergada pelos gatilhos no nível-de-instrução chamados antes da instrução, enquanto todas as modificações são enxergadas pelos gatilhos no nível-de-instrução que disparam depois da instrução.
As modificações nos dados (inserção, atualização e exclusão) causadoras do disparo do gatilho, naturalmente não são enxergadas pelos comandos SQL executados em um gatilho no nível-de-linha que dispara antes, porque ainda não ocorreram.
Entretanto, os comandos SQL executados em um gatilho no nível-de-linha para antes enxergam os efeitos das modificações nos dados das linhas processadas anteriormente no mesmo comando externo. Isto requer cautela, uma vez que a ordem destes eventos de modificação geralmente não é previsível; um comando SQL que afeta várias linhas pode atuar sobre as linhas em qualquer ordem.
Quando é disparado um gatilho no nível-de-linha para depois, todas as modificações nos dados feitas pelo comando externo já estão completas, sendo enxergadas pela função de gatilho chamada.
Podem ser encontradas informações adicionais sobre as regras de visibilidade dos dados na Seção 40.4. O exemplo na Seção 32.4 contém uma demonstração destas regras.