我正在嘗試使用Oracle數據庫上的更新編寫一個存儲過程,我希望'labelcount'增加1。在Oracle數據庫上更新列的增量值
MEMBER_NUM字段不允許有兩次相同的值。
有什麼建議嗎?
labelcount:= 1
IF (major_count >=1) and (min_count >=1) then
UPDATE TBL_MEMBERS
SET MEMBER_NUM = Major || 'M' || labelcount
WHERE MEMBER_ID = Minor and MEMBER_NUM = 'XXX';
End If;
所以這個:
Member_ID | Member_NUM |
A | xxx |
A | 4444 |
A | xxx |
A | xxx |
變爲
Member_ID | Member_NUM |
A | AM1 |
A | 4444 |
A | AM2 |
A | AM3 |
對不起,我不明白。你可以添加幾個例子嗎? – Mat
使用系統生成的序列,不要試圖手動完成。 (如果你有兩個用戶試圖在不同的會話中做同樣的更新,它會如何工作?) – mathguy
我發佈了一個簡單的答案,儘管IMO涵蓋了你的描述。如果你期望有不同的邏輯,請重新制定你的要求:) –