DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL
  • Présentation
  • Rappel
  • Identifiant automatique calculé par le moteur HFSQL
  • Identifiant automatique forcé (hForceIdAuto)
  • Identifiant automatique fixé (hFixeIDAuto)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Gestion des identifiants automatiques lors de l'ajout d'un enregistrement
HFSQL ClassicDisponible uniquement avec ce type de connexion
Présentation

Rappel

Lors de l'ajout d'un enregistrement dans un fichier de données HFSQL (fonction HAjoute), trois modes de gestion des identifiants automatiques sont disponibles :
Identifiant automatique calculé par le moteur HFSQL
L'identifiant automatique est calculé à chaque ajout par le moteur HFSQL. Cet identifiant est unique pour chaque enregistrement du fichier de données.
Exemple : Ajout d'un enregistrement dans le fichier CLIENT.
Lors de l'ajout de l'enregistrement, l'identifiant automatique IDCLIENT est automatiquement calculé par le moteur HFSQL.
La dernière valeur de l'identifiant automatique était 6. La valeur de l'identifiant automatique pour ce nouvel enregistrement sera 7.
Identifiant automatique forcé (hForceIdAuto)
L'identifiant automatique n'est pas calculé lors de l'ajout. L'identifiant correspond :
  • soit à la valeur affectée à la rubrique par programmation (par exemple CLCLEUNIK = 7).
  • soit à la valeur par défaut de l'identifiant spécifiée dans l'éditeur d'analyses (si le fichier de données vient d'être ouvert, sans lecture d'enregistrement).
  • soit à la valeur de l'identifiant présent en mémoire (valeur de l'identifiant pour le dernier enregistrement lu dans le fichier).
Après l'ajout de l'enregistrement, le prochain identifiant automatique calculé par défaut par le moteur HFSQL, sera calculé :
  • par rapport à la dernière valeur de l'identifiant automatique.
  • sans tenir compte de la valeur ajoutée par hForceIdAuto.
Ce mode d'utilisation de l'identifiant automatique est utile lors de copie d'enregistrements entre plusieurs alias d'un fichier de données. Mais il doit être utilisé avec précaution car il risque de provoquer des erreurs de doublons.
Exemple : Ajout dans le fichier CLIENT d'un enregistrement avec identifiant automatique forcé.
Deux enregistrements sont ajoutés au fichier CLIENT :
  • un enregistrement dont l'identifiant automatique est forcé à 15.
  • un enregistrement dont l'identifiant automatique est calculé par le moteur HFSQL. L'identifiant automatique de cet enregistrement sera calculée par rapport à la dernière valeur de l'identifiant (dans notre exemple, 7).
Dans cet exemple, les prochains ajouts ne provoqueront pas d'erreur de doublons jusqu'à ce que l'identifiant automatique prenne pour valeur 15 : l'ajout de cet enregistrement provoquera une erreur de doublons.
Identifiant automatique fixé (hFixeIDAuto)
L'identifiant automatique n'est pas calculé lors de l'ajout. L'identifiant correspond :
  • soit à la valeur affectée à la rubrique par programmation ( par exemple CLCLEUNIK = 7).
  • soit à la valeur par défaut de l'identifiant spécifiée dans l'éditeur d'analyses (si le fichier de données vient d'être ouvert, sans lecture d'enregistrement).
  • soit à la valeur de l'identifiant présent en mémoire (valeur de l'identifiant pour le dernier enregistrement lu dans le fichier de données).
Après l'ajout de l'enregistrement, le prochain identifiant automatique calculé par défaut par le moteur HFSQL sera calculé par rapport à la plus grande valeur de l'identifiant présent dans le fichier de données. Il n'y a dans ce cas aucun risque de doublons sur l'identifiant unique.
Exemple : Ajout dans le fichier CLIENT d'un enregistrement avec identifiant automatique fixé.
Cas N°1 : Deux enregistrements sont ajoutés au fichier CLIENT :
  • un enregistrement dont l'identifiant automatique est forcé à 3.
  • un enregistrement dont l'identifiant automatique est calculé par le moteur HFSQL. L'identifiant automatique de cet enregistrement sera calculé par rapport à la plus grande valeur de l'identifiant automatique dans le fichier (7).
Cas N°2 : Deux enregistrements sont ajoutés au fichier CLIENT :
  • un enregistrement dont l'identifiant automatique est forcé à 10.
  • un enregistrement dont l'identifiant automatique est calculé par le moteur HFSQL. L'identifiant automatique de cet enregistrement sera calculée par rapport à la plus grande valeur de l'identifiant automatique dans le fichier (10).
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 13/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale