No contexto da codificação de um trigger de banco de dados Oracle, assinale as variáveis que permitem acesso aos valores dos campos que estão sendo processados.
- A)after, before
Errada: after e before indicam momentos de execucao do trigger, nao variaveis de acesso aos valores da linha.
- B)inserted, deleted, updated.
Errada: inserted, deleted e updated sao termos associados a outras plataformas, como triggers de SQL Server, e nao ao Oracle.
- C)new, old.
Certa: no Oracle, os valores antigos e novos sao acessados por :OLD e :NEW, que a alternativa representa por old e new.
- D)pre, post.
Errada: pre e post nao sao os identificadores usados pelo Oracle para ler os campos antes e depois da alteracao.
- E)row, column.
Errada: row e column sao conceitos gerais de tabela, mas nao variaveis especiais de trigger no Oracle.
Gabarito: C
Em triggers do Oracle, quando voce quer acessar os valores da linha que esta sendo manipulada, os nomes magicos sao os correlatos de linha antiga e nova: :OLD e :NEW. Eles aparecem em triggers de nivel de linha e permitem comparar o que existia antes com o que passa a existir depois da operacao. Isso vale, por exemplo, em INSERT, UPDATE e DELETE, respeitando as limitacoes de cada comando. Pense assim: :OLD guarda o valor anterior da coluna e :NEW guarda o valor que esta sendo atribuido no momento. Em um UPDATE, os dois podem ser uteis; em um INSERT, normalmente so :NEW faz sentido; em um DELETE, voce trabalha com :OLD. O Oracle usa essa sintaxe classica com dois-pontos, e nao os termos em ingles soltos sem pontuacao. Por isso, o gabarito C esta correto: new, old. Mesmo que a grafia na alternativa nao traga os dois-pontos, ela aponta exatamente para os identificadores conceituais usados no trigger Oracle para acessar os dados antigos e novos da linha processada. Em linguagem de prova, a banca quer saber se voce reconhece essa dupla famosa do PL/SQL. Resumo de bolso: trigger de linha, dados antes e depois, :OLD e :NEW. Se a questao falar em valores dos campos em processamento, a ideia e essa mesma: consultar o passado e o presente da linha sem drama e sem misturar com outros nomes de outras tecnologias.