oracle有一個很方便的trigger,可以取得唯一的自增值
寫法大概如下 Select AutoNumber.nextval From dual
系統就會自動回傳一個auto number,當然需要先寫trigger
附上Stackoverflow的範例
我今天要處理的是有一個欄位希望能使用這個number去更新,原本的sql如下
但這樣會失敗,就去找資料,發現要這樣寫才行
這樣就可以將沒有資料的欄位,自動補上自增值嚕!
寫法大概如下 Select AutoNumber.nextval From dual
系統就會自動回傳一個auto number,當然需要先寫trigger
附上Stackoverflow的範例
我今天要處理的是有一個欄位希望能使用這個number去更新,原本的sql如下
update table1 set column1 = (Select autonumber.nextnvl from dual) where nvl(column1,0) = 0
但這樣會失敗,就去找資料,發現要這樣寫才行
update table1 set column1 = autonumber.nextnvl where nvl(column1,0) = 0
這樣就可以將沒有資料的欄位,自動補上自增值嚕!
留言
張貼留言