Pourriez-vous s'il vous plaît aidez-moi avec celui-ci:SQL stocké proc - aidez-moi à écrire celui-ci, s'il vous plaît!
Dans un de mes scripts j'insère des données dans quelque tableau "Item". L'une des colonnes du tableau "Item" est "ItemNumber". Je veux être en mesure d'appeler une fonction (très probablement un proc Stored) où il me renvoie un nombre numérique que je peux utiliser pour ItemNumber.
JE NE PEUX PAS utiliser AutoIncrement parce ItemNumber est unique et il pourrait y avoir une collision quand dans un script differnt j'insérer des données dans « Item », qui a déjà « ItemNumber »
Je ne connais que le Max numéro pour le "ItemNumber" et je suis libre d'utiliser quoi que ce soit après cela.
J'ai besoin d'une table pour ce storedProc pour stocker le prochain numéro à utiliser, non?
Je pensais à la création d'une table d'une colonne avec le nb_max_lignes_résultats en elle et un storedproc où il me retourner le nb_max_lignes_résultats et aussi augmenter le nb_max_lignes_résultats de 1 pour la prochaine utilisation
J'ai besoin d'aide pour écrire la proc stocké et l'utilisation avec l'appel INSERT INTO Item
.
EDIT:
Fondamentalement, je suis des données à partir de 5 à détourner les anciennes tables où ItemNumber est soit NULL ou défini. Pour ceux qui sont définis, ils sont tous des nombres uniques. Pour les données où le ItemNumber est NULL je veux l'assigner, quelle est la meilleure approche?
Aidez s'il vous plaît!
Merci,
Voodoo
S'il vous plaît essayer de rendre ce plus lisible si vous attendez de bonnes réponses. Il est très difficile de suivre votre fil de pensée –
L'insertion d'une ligne à partir d'un script différent n'entraîne pas de collisions avec un ID auto-incrémenté. Les ID sont générés sur le serveur, pas par votre script. Utilisez-vous plusieurs bases de données ou tables? –
@Tom H: Oui, j'utilise plusieurs tables et les insère dans une table, certaines des rowdata ont ItemNumber et d'autres sont nulles. La nouvelle table de données exige qu'ils soient Non Null et Unique sur ItemNumber. – VoodooChild