J'ai un employé, des produits et des tableaux du compteur kilométrique produit qui ressemble à ci-dessousProcédure stockée Oracle pour générer des numéros de séquence?
Chaque employé a un emp_code unique, en fonction du produit qu'il a accès.
Chaque produit aura un préfixe unique à son identifiant.
Je dois générer un identifiant alphanumérique unique par produit et l'attribuer à l'employé.
L'identifiant de cet article sera de 9 caractères, y compris le préfixe.
La table d'odomètre stocke le dernier emp_code attribué aux employés de ce produit particulier.
Comment écrire une procédure stockée pour générer ces emp_codes alphanumériques en fonction du produit pour chaque nouvel employé ajouté dans le système?
S'il vous plaît aider.
EDIT 1:
Juste une petite correction dans le tableau du compteur kilométrique, on n'a pas besoin de stocker le compteur kilométrique A00000001. Au lieu de cela, nous ne pouvions stocker que 00000001, puis ajouter le préfixe.
EDIT 2:
C'est ce que je faire jusqu'à présent.
create or replace PROCEDURE SP_GEN_NEXT_DUMMY_DB_PRISM_ID
(
in_product_id number,
db_prism_id out varchar2
)
AS
BEGIN
UPDATE BI_DB_PRISM_ID_ODOMETER
SET DB_PRISM_ID = DB_PRISM_ID + 1
WHERE
PRODUCT_ID = in_product_id;
SELECT to_char(db_prism_id, 'FM00000000') into db_prism_id FROM BI_DB_PRISM_ID_ODOMETER WHERE PRODUCT_ID = in_product_id;
END;
Mais comment puis-je faire en sorte qu'il fonctionne dans une transaction et comment puis-je joins le préfixe du produit au numéro généré.
Doivent-ils être consécutifs dans un produit? – zerkms
@ zerkms.Oui. Ils doivent être consécutifs. Ça ne devrait pas être un nombre aléatoire. – ashishjmeshram
@zerkms. Il peut arriver que nous générions un numéro séquentiel mais il n'est jamais assigné à l'employé dans ce cas il est perdu ce qui nous convient. – ashishjmeshram