CODE RETOUR -798

A VALUE CANNOT BE SPECIFIED FOR COLUMN column-name WHICH IS DEFINED AS GENERATED ALWAYS

Explication :
Lors de l’insertion ou de la mise à jour d’une ligne dans une table, une valeur a été spécifiée pour une colonne définie avec les attributs GENERATED ALWAYS, sa valeur n’est pas définie avec le mot clé DEFAULT et :

  • Les valeurs de variable d’indicateur étendu ne sont pas activées.
  • Les valeurs de variable d’indicateur étendu sont activées, mais aucune des valeurs attendues DEFAULT (-5) ou UNASSIGNED (-7) n’a été fournie.

column-name
Le nom de la colonne.

Les colonnes GENERATED ALWAYS ne doivent pas être spécifiées dans la liste de colonnes pour une opération d’insertion ou dans la clause SET pour une opération de mise à jour, sauf si le mot-clé DEFAULT est spécifié.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Supprimez la colonne de la liste des colonnes ou de la clause SET, ou spécifiez DEFAULT comme valeur de colonne.

Vous pouvez utiliser la clause OVERRIDING USER VALUE dans une instruction INSERT comme solution possible à cette situation.

SQLSTATE :
428C9