Como fazer referência a valores antigos e novos valores no SQL

Uma parte do SQL CREATE TRIGGER sintaxe que você pode usar é opcional REFERENCING old_or_new_value_alias_list frase. Ele permite que você crie um nome de alias ou correlação que faz referência a valores na tabela de assunto do gatilho. Depois de criar um nome de correlação para os novos valores ou um alias para novos conteúdos da tabela, você pode fazer referência os valores que existirão depois de uma INSERIR ou ATUALIZAR operação.

De maneira semelhante, depois de criar um nome de correlação para os valores antigos ou um alias para o conteúdo das tabelas antigas, você pode fazer referência os valores que existiam na tabela de assunto antes de uma ATUALIZAR ou EXCLUIR operação.

o old_or_new_values_alias_list no CREATE TRIGGER sintaxe pode ser um ou mais dos seguintes frases:

OLD [linha] [AS] 

ou

NEW [linha] [AS] 

ou

TABELA VELHA [AS] 

ou

NEW TABLE [AS] 

Os aliases de tabela são identificadores para tabelas de transição, que não são persistentes, mas que só existem para facilitar a operação de referência. Como seria de esperar, NOVA LINHA e NOVO QUADRO não pode ser especificada para uma EXCLUIR gatilho, e OLD ROW assim como TABELA VELHA não pode ser especificada por um INSERIR gatilho.

Depois de excluir uma linha ou de mesa, não há nenhum valor novo. Similarmente, OLD ROW e TABELA VELHA não pode ser especificada por um INSERIR gatilho. Não há valores antigos para referência.

Em um gatilho de nível de linha, você pode usar um nome de correlação valor antigo para referenciar os valores na linha que está sendo modificado ou excluído pela instrução SQL desencadeando como essa linha já existia antes da declaração modificado ou excluído. Da mesma forma, uma velha mesa de valor alias é o que você usa para acessar os valores em toda a tabela, como existiam antes da ação da instrução SQL provocando entrou em vigor.

Você não pode especificar TABELA VELHA ou NOVO QUADRO com um ANTES gatilho. As tabelas de transição criadas pela TABELA VELHA ou NOVO QUADRO palavra-chave são muito susceptíveis de serem afectadas pelas acções causadas pela instrução SQL acionada. Para eliminar este problema potencial, usando TABELA VELHA e NOVO QUADRO com um ANTES É proibida gatilho.

menu