2018年8月14日 星期二

如何update Oracle某一TABLE裡的排序位, 並以名稱做為排序

在這裡做個筆記, 功能是以名稱排序後, update 欄位中的排序欄位(SORT)

update TABLE1 t set t.SORT =
    ( select RN
      from (select ROW_NUMBER() OVER(ORDER BY NAME) RN ,TABLE1.CODE
             from TABLE1
             where SYSTYPE='TYPE1'
             order by nlssort(NAME,'NLS_SORT=TCHINESE_RADICAL_M') 
           )
      where t.CODE = CODE and t.SYSTYPE = SYSTYPE
    )
where SYSTYPE='TYPE1'

紀錄一下~

沒有留言:

張貼留言

POSTGRE SQL 想使用變數去定義一段日期區間, 但遍尋不到像是在 MSSQL 時常用的 DECLARE @count int, @x int, @y nvarchar(10)... 想到一招利用 CTE 方式去定義一個這樣類似變數的作法來實現... 原來的script w...