DB2 SQLCODE -803: One or more values in the INSERT or UPDATE violate unique index constraint – COBOL SQLCODE_MINUS_803

SQLCODE_MINUS_803

L'istruzione 'EXEC SQL INSERT ...' tenta di inserire un record con valori che violano un indice UNIQUE definito nella tabella DB2 relazionale.

Cosa significa questo errore?

L'istruzione 'EXEC SQL INSERT ...' tenta di inserire un record con valori che violano un indice UNIQUE definito nella tabella DB2 relazionale.

Messaggio originale

DB2 SQLCODE -803: One or more values in the INSERT or UPDATE violate unique index constraint

Contesto e parole chiave

Alias

  • SQLCODE -803 DB2 COBOL
  • SQLSTATE 23505

Messaggi alternativi

  • violazione vincolo unicità indice DB2 EXEC SQL

Prodotti

  • GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus

Piattaforme

  • AIX
  • IBM z/OS
  • Linux
  • Windows

Parole chiave

  • CALL e Linkage Subprogrammi
  • cobol
  • cobol.linkage.sql-sqlca-sqlcode-minus-803-duplicate-key-db2
  • errore-cobol-sqlcode-minus-803-duplicate-key
  • file-status
  • gnucobol

Cause possibili

Causa tecnica per Errore COBOL DB2: SQLCODE -803 (Violazione Vincolo di Indice Univoco in INSERT)

L'istruzione 'EXEC SQL INSERT ...' tenta di inserire un record con valori che violano un indice UNIQUE definito nella tabella DB2 relazionale.

molto comune

Diagnosi

Diagnostica di esecuzione e file status per Errore COBOL DB2: SQLCODE -803 (Violazione Vincolo di Indice Univoco in INSERT)

Ispezionare la variabile FILE-STATUS, i log di runtime o compilare con i controlli di integrità di GnuCOBOL (-Wall -Wextra -fdebugging-line).

Come leggere il risultato. Evidenzia violazioni dei margini di colonna, disallineamenti nelle clausole PIC o codici di ritorno anomali.

terminal
cobc -x -Wall -Wextra main.cob -o app

Risoluzione

Risoluzione standard per Errore COBOL DB2: SQLCODE -803 (Violazione Vincolo di Indice Univoco in INSERT)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente COBOL secondo le specifiche ANSI/ISO COBOL.

  1. Ispezionare il valore della variabile FILE STATUS o il numero di riga del compilatore
  2. Correggere la dichiarazione FD, la PICTURE o la sequenza di OPEN/READ/WRITE
  3. Ricompilare ed eseguire verificando la corretta terminazione con RETURN-CODE 0
terminal
cobc -x main.cob

Domande frequenti

Cosa significa Errore COBOL DB2: SQLCODE -803 (Violazione Vincolo di Indice Univoco in INSERT) in COBOL?

L'istruzione 'EXEC SQL INSERT ...' tenta di inserire un record con valori che violano un indice UNIQUE definito nella tabella DB2 relazionale.

Approfondimenti

Schede correlate