개발노트

[Oracle] ROW_NUMBER 를 이용한 순서변경 본문

SQL

[Oracle] ROW_NUMBER 를 이용한 순서변경

smc0210 2017. 1. 18. 12:04

SELECT 

    SEQ,                    -- 시퀀스

    ORDER_NUM,      -- 순서변경에 사용할 컬럼

    ROW_NUMBER() OVER (ORDER BY USE_ORDER) AS ROW_NUMBER 

FROM 

TABLE

ORDER BY ORDER_NUM DESC;




UPDATE TABLE TB

    SET ORDER_NUM = (

    SELECT

    ROW_NUMBER

        FROM(

            SELECT 

            SEQ,

                ORDER_NUM OID,

                ROW_NUMBER() OVER (ORDER BY ORDER_NUM) AS ROW_NUMBER

            FROM TABLE

            ORDER BY ORDER_NUM DESC

        )

        WHERE OID = TB.ORDER_NUM

    )

Comments