본문 바로가기
DATABASE/Oracle

oracle과 postgresql 차이에 느낀 사람순번가공방법

by 코딩두통 2023. 1. 8.
728x90

처음 저렇게 하여 컬럼을 추가하려 하였다. 하지만 듀얼로 해도 될거같은 상황이였다.

 

그래서 시퀀스를 생성부터 하고

CREATE SEQUENCE TB_CMMN_AUTHOR_USER_SEQ;

 

생성한 시퀀스를

이런식으로 넣어서 듀얼로 만들어주었다. 계속 오류가 뜨는데

근데 포스트그레는 듀얼이 없다는걸 알게 돼 었다. 

그래서 

SELECT  SN_NO AS USER_SN
FROM (SELECT TO_CHAR(NEXTVAL('TB_CMMN_AUTHOR_USER_SEQ'), '00000000FM') AS SN_NO) AS A

from을 빼면 오라클의 듀얼과 같다는걸 알게 돼 듀얼을 빼고 이렇게만 썼다. 

하지만 앞에 순번이 붙지 않아서 검색을 해봤더니 concat 이라는 자체함수가 있어 그것을 사용하였다. 

SELECT CONCAT(AUTHOR_GROUP_NM,SN_NO) AS USER_SN
FROM (SELECT TO_CHAR(NEXTVAL('TB_CMMN_AUTHOR_USER_SEQ'), '00000000FM') AS SN_NO) AS A , TB_CMMN_AUTHOR_GROUP
WHERE AUTHOR_GROUP_NM = 'SN' ;

concat 은 나열한 순으로 붙여주는 역할을 한다. '','-' , '' 이렇게 쓰면 중간에 -가 붙어서 나오게 된다. 

그룹테이블의 컬럼인 SN 을 콘켓으로 붙여주었다. 

 

postgresql 이게 최종 순번 

-- 순번나오게 하는거
SELECT CONCAT(AUTHOR_GROUP_NM,SN_NO) AS USER_SNFROM (SELECT TO_CHAR(NEXTVAL('TB_CMMN_AUTHOR_USER_SEQ'), '00000000FM') AS SN_NO) AS A , TB_CMMN_AUTHOR_GROUPWHERE AUTHOR_GROUP_NM = 'SN' ;

 

728x90

'DATABASE > Oracle' 카테고리의 다른 글

테이블스페이스 관련  (0) 2023.01.08

댓글