|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : juin 2002 Messages : 379 ![]() |
Bonjour, est ce qu'il est possible de connaitre le numero d'enregistrement dans une table sans avoir a faire le parcours de celle ci ?
Je precise que ce numero serait independant des champs de la table et de tout autres chose. Merci pour vos reponse. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
je comprend pas ?
un peu de précision serait apprécié, la notion de "numéro d'enregistrement" ne veut pas dire grand chose dans le monde des serveurs SQL
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#3 | ||||
|
Membre actif
![]() Inscription : juin 2002 Messages : 379 ![]() |
Bonjour makowski. Merci de t'interesser a mon post.
Eh bien je voudrais simplement connaitre le numero de l'enregistrement encours. Mon objectif : J'ai une table avec un champ primaire INTEGER autoincremente. Suite a des suppressions dans cette table, il peut y avoir des "trous" dans la suite numerique que doit former le champ. Donc je dois renumeroter ce champ afin de combler ces trous. Et bien sur tenir a jour le genrator qui y est lie. J'ai fais une procedure stockee de cette forme : Code :
Si il existe une UDF ou autre chose qui renvoie le numero de procedure, ma procedure deviendrait : Code :
Merci d'avance de ton aide. |
||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
ça n'existe pas le "numéro d'enregistrement" dans les serveurs sql comme firebird, et ça n'a aucun sens
mais une petite recherche dans ce forum et sur google sur les suites t'aiderons à trouver le solution, la numérotation continue est un sujet largement traité dans le passé mais la première question à se poser c'est "il y a des trous ? et alors, est ce bien grave ? ai je bien besoin d'une suite continue ? pourquoi faire ?" en général, cela ne sert à rien
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : juin 2002 Messages : 379 ![]() |
Merci pour ta reponse.
Je suis d'accord avec toi : avoir une suite continue est inutile ! Mais comme c'est pas moi qui decide ... Je pense avoir trouve la solution : Faire cette operation dans l'application avec une bete boucle while not Table.eof. puis juste un applyupdates a la fin de la boucle. Mon seul souci : je n'arrive pas a comprendre le processus de blocage. Comment puis-je etre sur qu'aucun traitement est un cours sur ma table, et comment bloquer d'eventuels traitement pendant ma boucle ? Je sais, tu vas me dire que le sujet est largement developper sur le forum. Mais moi pas m'y retrouver ! PS : je travaille avec Delphi7 + Firebird |
|
|
00
|
|
|
#6 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 758 ![]() |
Salut
Est-ce que tu as parcouru cet article sur les générateurs purs ? Cela t'obligera certainement à retravailler ta base, mais cela pourrait être une solution à ton pb. @+ Claudius.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com