ORACLE17 파티셔닝(Partitioning) gmlwjd9405.github.io/2018/09/24/db-partitioning.htmlgmlwjd9405.github.io/2018/09/24/db-partitioning.html PARTITION BY RANGE (REG_DATE)( PARTITION P_QUEUE_202101 VALUES LESS THAN (TO_DATE('20210201', 'YYYYMMDD')), PARTITION P_QUEUE_202102 VALUES LESS THAN (TO_DATE('20210301', 'YYYYMMDD')), PARTITION P_QUEUE_202103 VALUES LESS THAN (TO_DATE('20210401', 'YYYYMMDD')), PARTITION P_QUEUE_202104 VALUES.. 2021. 2. 1. 정규식 REGEXP_LIKE -. LIKE 연산자와 유사하며, 표현식 패턴(Regular expression Pattern)을 수행하여, 일치하는 값을 반환합니다. -. 문법 : REGEXP_LIKE(srcstr, pattern [,match_option]) srcstr : 소스 문자열 match_option : match를 시도할 때의 옵션 [[:digit:]] : 숫자인 것. [^[:digit:]] : 숫자가 아닌 것. -. 예제 SELECT SSN FROM test WHERE REGEXP_LIKE(SSN, '[^[:digit:]]'); SSN -------------------- ******2229198 ******2047888 ******2349876 -- 제목에 전화번호가 포함된 게시물 WHERE RE.. 2020. 11. 13. [HINT] GATHER_PLAN_STATISTICS GATHER_PLAN_STATISTICS 오라클 10g부터 GATHER_PLAN_STATISTICS 힌트를 이용하면 SQL Trace를 수행하지 않고도 쿼리의 Plan 단계별로 Get Block을 알 수 있음.힌트를 사용하면 SQL 실행시 Row Source Operation 정보를 수집 후 DBMS_XPLAN.DISPLAY_CURSOR 로 확인SELECT /*+ gather_plan_statistics AAA*/ FROM DUAL;SELECT a.sql_id,a.child_number, a.executions, a.*FROM v$sql a WHERE a.sql_text LIKE '%AAA%';SELECT *FROM TABLE(dbms_xplan.display_cursor( &sql_id, 0.. 2020. 11. 13. ORA-06508 ORA-06508: PL/SQL: 호출 중인 프로그램 단위를 찾을 수 없습니다(). -- 재컴파일 관련 처리 SELECT 'alter ' || object_type || '' || owner || '.' || object_name || ' compile;' FROM Dba_Objects WHERE status ='INVALID' AND object_type IN ('PACKAGE'); 2020. 1. 14. drop table SELECT 'DROP TABLE ' ||a.owner ||'.'|| a.table_name || ' CASCADE CONSTRAINTS;' , a.* FROM ALL_ALL_TABLES a WHERE table_name LIKE '%테이블명%' ; SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;', a.* FROM user_objects a WHERE object_name LIKE '테이블명%' AND object_type ='TABLE' ; ※ CASCADE CONSTRAINTS를 붙이면 삭제할 테이블의 기본키와 UNIQUE 키를 참조하는 참조 무결성 제약조건도 자동으로 삭제. PK가 삭제가 안되는 경우 참조하는 놈을 참고해서 CONSTR.. 2020. 1. 13. MERGE INTO 과거에 퍼포먼스 문제로 별로 사용하지 않았지만, 지금이야 뭐 ~~ 조건과 매칭이 되면 update 안되면 insert 처리 하기 위함 ( 다량의 데이터 처리 ) 단, MERGE INTO에 CLOB필드가 있을 경우 사이즈가 크면 ORA-00600 에러 발생 MERGE INTO USING ( ) B ON ( ) WHEN MATCHED THEN WHEN NOT MATCHED THEN UPDATE에 매칭되는 데이터는 삭제할 수 있음. DELETE 문법을 이용해서 삭제 후 INSERT 문법을 활용하는데 이렇게 하면 인덱스가 점점 안 좋아 질 수 있고, 서비스 테이블에서 조회하려는 시점에 아무 정보도 못 얻어서 비지니스 적인 오류가 발생하기도 함. MER.. 2019. 12. 16. 이전 1 2 3 다음