Voilà, je sais que c'est un sujet longuement abordé dans le forum, j'ai fait des recherches, mais rien de ce qui est proposé pour l'instant ne répond vraiment à ma question !![]()
Bon j'ai créé une table Clients en utilisants le code suivant :
J'aimerais que le NUMERO soit autoincrémenté ! Suivant les prescriptions données sur ce forum, j'ai créer un générateur et un trigers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE "CLIENTS" ( "NUMERO" INTEGER NOT NULL, "NOM" CHAR(30), "PRENOM" CHAR(30), "AGE" INTEGER, "EMAIL" CHAR(20)
Jusque là tout fonctionne ! Et c'est maintenant qu'apparaît mon problème (que j'ai déjà abordé dans un autre post d'ailleurs !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TRIGGER "CREATE_NUMERO" FOR "CLIENTS" ACTIVE BEFORE INSERT POSITION 0 AS BEGIN NEW.NUMERO = GEN_ID(NUMERO_GEN, 1); END
Si je fais mon insertion vià le code sql :
Tout marche impec, il incrémente automatiquement le Numéro et le met à 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO CLIENTS(NOM,PRENOM,AGE,EMAIL) VALUES ('Dupont', 'MARCEL', 26, 'dup@free.be');
Par contre si avec IBconsole, je clique sur TABLES puis sur CLIENTS, il m'ouvre une fenêtre Properties for :CLIENTS.
J'ai alors 5 onglets de gauche à droite :
- Properties
- Metadata
- Permissions
- Data
- Dependencies
Je clique sur l'onglet Data. Il me présente alors ma Table sous forme d'un tableau avec dedans mon client n°1 Marcel Dupont. En dessous j'ai une barre d'outils qui me permet de travailler les données de ma table :
Next record, Last record, Insert record, Delete record, etc....
Si je clique sur Insert record, il me crée une nouvelle ligne, dans laquelle je peux introduire mes nouvelles données, mais le problème est qu'il n'incrémente pas mon champs NUMERO !!!!!![]()
Quelqu'un pourrait-il m'expliquer pourquoi et comment faire pour que l'incrémentation fonctionne ? Merci d'avance !
Partager