私は以下のような従業員、製品、製品走行距離計の表を持っています
各従業員は、アクセスできる製品に応じて一意のemp_codeを持っています。
各製品には、その識別子に一意のプレフィックスが付いています。
製品ごとに一意の英数字の識別子を生成し、それを従業員に割り当てる必要があります。
この製品IDは、プレフィックスを含めて9文字の長さになります。
走行距離計テーブルには、その特定の製品の従業員に割り当てられた最後のemp_codeが格納されます。
システムに追加される新しい従業員ごとに、製品に基づいてこれらの英数字のemp_codeを生成するストアドプロシージャを作成するにはどうすればよいですか?
助けてください。
編集1:
走行距離計の表を少し修正するだけで、走行距離計をA00000001として保存する必要がない場合があります。代わりに、00000001を保存してから、プレフィックスを追加することしかできませんでした。
編集2:
これは私がこれまでに行ったことです。
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;
しかし、トランザクションで実行されることを確認するにはどうすればよいですか。また、生成された番号に製品プレフィックスを追加するにはどうすればよいですか。