DB2 - Exemplos simples - COMMIT


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES, Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 - Exemplos simples - COMMIT

A instrução COMMIT encerra a unidade de recuperação na qual é executada e uma nova unidade de recuperação é iniciada para o processo.
A instrução confirma todas as alterações feitas por instruções de esquema SQL e instruções de alteração de dados SQL durante a unidade de trabalho.

Essa instrução pode ser incorporada em um programa de aplicativo ou emitida interativamente.
É uma instrução executável que pode ser preparada dinamicamente.
Não pode ser usado no ambiente IMS ou CICS®.

Sintaxe:

    EXEC SQL
         COMMIT [WORK]
    END-EXEC

Práticas de codificação recomendadas:

Codifique uma instrução COMMIT ou ROLLBACK explícita no final de um processo de aplicação.
Uma operação implícita de confirmação ou reversão será executada no final de um processo de aplicativo, dependendo do ambiente do aplicativo.
Portanto, um aplicativo portátil deve executar explicitamente uma instrução COMMIT ou ROLLBACK antes que a execução termine nos ambientes onde COMMIT ou ROLLBACK explícito são permitidos.

Efeito de COMMIT:

Todos os pontos de salvamento definidos na unidade de recuperação são liberados e todas as alterações são confirmadas para as seguintes instruções que são executadas durante a unidade de recuperação:

  • ALTER
  • COMMENT
  • CREATE
  • DELETE
  • DROP
  • EXPLAIN
  • GRANT
  • INSERT
  • LABEL
  • MERGE
  • RENAME
  • REVOKE
  • UPDATE
  • SELECT INTO com uma instrução de alteração de dados SQL
  • subselect com uma instrução de alteração de dados SQL

Restrições ao uso de COMMIT:

A instrução COMMIT não pode ser usada no ambiente IMS ou CICS.
Para causar uma operação de confirmação nesses ambientes, os programas SQL devem usar a chamada prescrita por seu gerenciador de transações.
O efeito dessas operações de confirmação nos dados do Db2 é o mesmo da instrução SQL COMMIT.

Efeito da confirmação em registros especiais:

A emissão de uma instrução COMMIT pode fazer com que os registros especiais sejam reinicializados.
Se um desses registros especiais é afetado por um commit depende se o registro especial foi explicitamente definido dentro do processo de aplicação.
Por exemplo, suponha que o registro especial PATH não tenha sido definido explicitamente com uma instrução SET PATH no processo do aplicativo.
Após uma confirmação, o valor de PATH é reinicializado.
Para obter informações sobre a inicialização de PATH, que pode levar em consideração o valor atual de CURRENT SQLID, consulte CURRENT PATH.

Efeito do commit nas variáveis globais:

As variáveis globais não são controladas no nível da transação.
A emissão de uma instrução COMMIT não afeta o conteúdo de uma variável global.