|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 24 ![]() |
Bonjour a tous,
J'utilise depuis peu les TRIGGER dans interbase et j'aimerai bénéficier des compteurs auto increment. Les tables existent déjà et ne sont pas vides. Il faut donc que l'initialise les compteurs à la valeur MAX de l'ID de chaqu'une des tables. En d'autres termes je veux faire un truc du style : SET GENERATOR cpt TO (SELECT MAX(ID) FROM TABLE) Avez-vous une solution ? Merci d'avance Alain |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
Une solution à quoi
Celle que tu proposes va très bien |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 24 ![]() |
Bonjour,
J'ai oublié de préciser que je travaille avec IB 6.01. Et avec cette version, ça ne marche pas, Le SELECT n'est pas accepté dans un SET GENERATOR Je n'ai pas essayé en version 7, mais pas question de passer en version 7, il faudrait migrer tous mes clients. Personne n'a rencontré ce problème ? Alain |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Non on ne peut pas faire se select dans un set generator.
Vous pouvez soit le faire en plusieures étapes (dans un programme ou une PS) : Réccupération du max de la table puis affectation du générateur. Soit par la commande suivante : Code :
SELECT gen_id(GEN_MON_GENERATOR, ((SELECT max(ID) FROM MA_TABLE)-gen_id(GEN_MON_GENERATOR,0))) FROM rdb$database Code :
SELECT gen_id(GEN_MON_GENERATOR, (SELECT max(ID) FROM MA_TABLE)) FROM rdb$database |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com