* Bonjour, *
Aprés création et remplissage d'une table,
j'etaitbesoin de creer une clé primaire pour ma table
Comment faire pour ajouter des valeurs incrementals pour ma table?
* Merci *
* Bonjour, *
Aprés création et remplissage d'une table,
j'etaitbesoin de creer une clé primaire pour ma table
Comment faire pour ajouter des valeurs incrementals pour ma table?
* Merci *
Bonjour,
Je vais te présenter une approche en partant du principe que la table concernée n'est pas liée à une autre table par une clé étrangère. Je pense que ta base de données est Firebird, sinon faire les adaptations nécessaires.
Tu fais la création d'une table temporaire et tu réalises le transfert de tes données de la table actuelle vers cette nouvelle table. Pour cette opération, tu pourras t'inspirer des requêtes ci-après.
Tu supprimes les lignes de ta table principale et tu ajoutes la colonne pour créer ta clé primaire. Tu mets en place le déclencheur et le trigger qui vont remplir en automatique la colonne clé primaire.
Ensuite, tu fais l'insertion des éléments de la table temporaire vers la table principale.
Pour cette opération, vous utiliser le code ci-dessous.
Pour insertion en automatique ne pas inclure la colonne clé primaire, où alors procéder ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO TablePrincipale (Col1, col2, etc) VALUES(SELECT Col1, Col2 FROM TableProvisoire)
Cette requête n'est pas testée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO TablePrincipale (ColClePrim, Col1, col2, etc) VALUES(SELECT NULL, Col1, Col2 FROM TableProvisoire)
Il est peut être possible de procéder de façon différente, mais personnellement je fais ainsi.
Bon courage
Partager