만들어가는 세상

[ORACLE] 유용한 쿼리들1 본문

IT/ETC

[ORACLE] 유용한 쿼리들1

윤재웅 2019. 11. 12. 23:48

[ORACLE] 유용한 쿼리문

중복제거

WHERE ROWID IN (SELECT MAX(ROWID) FROM TABLE GROUP BY MEMBERNO)

테이블 수정

ALTER TABLE T\_WEBGIFTREQUESTBOARD MODIFY(GIFTCODE VARCHAR(10) DEFAULT 0);

컬럼 이름 변경

ALTER TABLE T_TEMP_KEYIN
RENAME COLUMN 변경전 컬럼 TO 변경후 컬럼

정의된 시퀀스 조회

SELECT * FROM USER\_SEQUENCES
WHERE SEQUENCE_NAME IN ('DC_201701_EVENT_1SEQ', 'DC_201701_EVENT_2SEQ', 'DC_201701_EVENT_3SEQ', 'DC_201701_EVENT_4SEQ')

현재 시퀀스 조회

SELECT 시퀀스네임.CURRVAL FROM DUAL

다음 시퀀스 조회

SELECT 시퀀스네임.NEXTVAL FROM DUAL

시퀀스 생성

CREATE SEQUENCE IFOUR.DC_201701_EVENT_1SEQ
START WITH 1
MAXVALUE 9999999999
MINVALUE 1
NOCYCLE
NOCACHE
NOORDER;

시퀀스 삭제

DROP SEQUENCE SEQ\_BBS\_NO;

기본키 설정

ALTER TABLE DC\_UNION\_EVENT\_MEMBER ADD PRIMARY KEY (MEMBERNO,TYPE,SEQ);

기본키 삭제

ALTER TABLE DC\_UNION\_EVENT\_MEMBER DROP PRIMARY KEY;

14시간동안 히스토리 보기

SELECT * FROM T_MAIN_GETDEAL_DATE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '14' HOUR)

테이블 이름 변경

ALTER TABLE T_ITEM_EX RENAME TO T_ITEM_EX_TEMP

코멘트 변경

comment ON COLUMN DC_UNION_EVENT_MEMBER.MEMBERNO IS '회원번호'

한테이블 조인

SELECT A.MEMBERNO FROM (
    SELECT MEMBERNO
    FROM T_MILEAGE_TEMP) A,
    (SELECT MEMBERNO
     FROM T_MILEAGE_TEMP) B
     WHERE A.MEMBERNO = B.MEMBERNO

컬럼추가

ALTER TABLE T_ITEM_BANNER ADD EVTBANNER_URL10 VARCHAR2(100);

계층쿼리 사용법

SELECT
LPAD(' ', 4*(LEVEL-1)) || NAME NAMES,
SECTID,
NAME ,
SECTLEVEL,
SECTSEQ,
UPSECTID
FROM DC_SECT
WHERE UPSECTID IN('1011911','1012076','1012095', '1012097')
AND DBSTS ='A'
START WITH UPSECTID IS NULL
CONNECT BY PRIOR SECTID = UPSECTID

중복제거

DISTINCT 중복된 데이터를 빼고 출력 할 경우 사용
Comments