【发布时间】:2022-07-25 20:38:21
【问题描述】:
使用 Oracle,我有一个创建唯一 ID 号的过程。目前,ID 号是用 sysdate 年份与“-”连接的。然后,我更新 ID 号以连接表中破折号后的值。
例如:2022-8501。
我想将破折号后面的数字增加 1,而不是使用表值,并且它应该每年从 1 开始。
例如:2022-1、2022-2、2022-3 //(明年)2023-1、2023-2、2023-3
解决这个问题的最佳方法是什么?我在下面附上了我当前的代码。
INSERT INTO PLANE_INFO.ID_NUMBERS (PLANE_ID)
VALUES (TO_CHAR(SYSDATE, 'YYYY')||'-')
RETURNING ENTRY_ID INTO v_entry_id;
UPDATE PLANE_INFO.ID_NUMBERS
SET PLANE_ID = PLANE_ID || LPAD(v_entry_id,5,'0')
WHERE ENTRY_ID = v_entry_id;
【问题讨论】: