Pergunta

Eu mantenho um aplicativo que foi originalmente escrito para ser específico do SQL Server (usando campos de identidade). Assim, tivemos que definir muitos gatilhos para as chaves primárias das tabelas de incremento automático.

Disseram -me que isso é considerado uma solução alternativa no mundo Oracle, mas isso me foi dito em um tipo de "amigo de um amigo". Quão grande é o negócio usar gatilhos para incrementar as chaves primárias de uma sequência em vez de usar a sequência diretamente?

Foi útil?

Solução

É uma prática muito comum na minha experiência, e não terrivelmente ruim. No entanto, se você tiver controle sobre as inserções (por exemplo, se todas as inserções forem feitas por meio de uma API PL/SQL), é mais eficiente usar a sequência diretamente na instrução Insert - porque evita a sobrecarga de disparar um gatilho. Mas eu realmente não me preocuparia indevidamente com isso se você usasse gatilhos!

Outras dicas

Isso pode não ser totalmente relevante, mas usar "antes do inserir gatilho" para que as chaves primárias de incrementos automáticos é uma boa opção, especialmente em declarações de mesclagem. Se uma sequência for usada diretamente na seção de inserção de mesclagem, a sequência parece ser invocada mesmo para atualizações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top