Diferença Entre Gatilhos E Cursores

Diferença Entre Gatilhos E Cursores
Diferença Entre Gatilhos E Cursores

Vídeo: Diferença Entre Gatilhos E Cursores

Vídeo: Diferença Entre Gatilhos E Cursores
Vídeo: CUIDADO: GATILHOS! 2024, Abril
Anonim

Gatilhos vs cursores

Em um banco de dados, um gatilho é um procedimento (segmento de código) que é executado automaticamente quando alguns eventos específicos ocorrem em uma tabela / visão. Entre seus outros usos, os gatilhos são usados principalmente para manter a integridade em um banco de dados. Um cursor é uma estrutura de controle usada em bancos de dados para percorrer os registros do banco de dados. É muito semelhante ao iterador fornecido por muitas linguagens de programação.

O que são gatilhos?

Um gatilho é um procedimento (segmento de código) executado automaticamente quando alguns eventos específicos ocorrem em uma tabela / visão de um banco de dados. Entre seus outros usos, os gatilhos são usados principalmente para manter a integridade em um banco de dados. Os gatilhos também são usados para impor regras de negócios, auditar mudanças no banco de dados e replicar dados. Os gatilhos mais comuns são os gatilhos de Linguagem de Manipulação de Dados (DML) que são disparados quando os dados são manipulados. Alguns sistemas de banco de dados suportam disparadores sem dados, que são disparados quando ocorrem eventos de linguagem de definição de dados (DDL). Alguns exemplos são gatilhos que são disparados quando as tabelas são criadas, durante operações de confirmação ou reversão, etc. Esses gatilhos podem ser usados especialmente para auditoria. O sistema de banco de dados Oracle suporta gatilhos de nível de esquema (ou seja,gatilhos disparados quando os esquemas de banco de dados são modificados), como Após a criação, Antes da alteração, Depois da alteração, Antes da eliminação, Após a eliminação, etc. Os quatro principais tipos de gatilhos suportados pelo Oracle são gatilhos de nível de linha, gatilhos de coluna Para cada acionador de tipo de instrução.

O que são cursores?

Um cursor é uma estrutura de controle usada em bancos de dados para percorrer os registros do banco de dados. É muito semelhante ao iterador fornecido por muitas linguagens de programação. Além de percorrer os registros em um banco de dados, os cursores também facilitam a recuperação de dados, adicionando e excluindo registros. Definindo a maneira correta, os cursores também podem ser usados para retroceder. Quando uma consulta SQL retorna um conjunto de linhas, elas são realmente processadas usando cursores. Um cursor precisa ser declarado e atribuído um nome, antes que possa ser usado. Em seguida, o cursor precisa ser aberto usando o comando OPEN. Esta operação colocaria o cursor logo antes da primeira linha do conjunto de registros de resultados. Em seguida, o cursor deve executar a operação FETCH para realmente obter uma linha de dados para o aplicativo. Finalmente, o cursor deve ser fechado usando a operação CLOSE. Os cursores fechados podem ser abertos novamente.

Qual é a diferença entre Triggers e Cursors?

Um gatilho é um procedimento (segmento de código) que é executado automaticamente quando alguns eventos específicos ocorrem em uma tabela / visão de um banco de dados, enquanto um cursor é uma estrutura de controle usada em bancos de dados para percorrer os registros do banco de dados. Um cursor pode ser declarado e usado em um gatilho. Em tal situação, a instrução declare estaria dentro do gatilho. Então, o escopo do cursor seria limitado a esse gatilho. Dentro de um gatilho, se um cursor for declarado em uma tabela inserida ou excluída, tal cursor não seria acessível a partir de um gatilho aninhado. Assim que um gatilho for concluído, todos os cursores criados nele serão desalocados.

Recomendado: