오라클에서 TABLE 생성시 또는 ALTER TABLE 구분으로 특정 컬럼에 DEFAULT 값을 설정한 후에다시 원래대로 DEFAULT 옵션을 없앨 수 없습니다. - 디폴트값 설정ALTER TABLE T_TEST MODIFY T_COL DEFAULT '100'; - DEFAULT 를 없애고 싶다면 (?)=> 오라클에서는 방법이 없습니다. 단, 아래구문으로 마치 처음 상태로 되 돌리는 효과는 볼 수 있지만 DATA DICTIONARY에는 잔재가 남아 있습니다. ALTER TABLE T_TEST MODIFY T_COL DEFAULT NULL; - 위처럼 DEFAULT NULL 를 한 후에 DICTIONARY 조회SELECT DATA_LENGTH, DATA_DEFAULTFROM ALL_TAB_COLSWHERE..
문자열 변수에 담긴 값이 숫자일때만 사용되도록 하기.... ex) no = 숫자 컬럼임 1) 방법1SELECT NOFROM TT_TMPWHERE NO = TO_NUMBER(REGEXP_SUBSTR(:str_no, '^[0-9]+$')); 1) 방법2SELECT NOFROM TT_TMPWHERE NO = TO_NUMBER(REGEXP_SUBSTR(:str_no, '^[[:digit:]]+$')); * str_no 값이 숫자이면 문자열 그대로 반환해서 TO_NUMBER로 형변환이 이루어 지지만 값에 문자가 섞여 있으면 NULL를 리턴해서 형변환이 이루어지지 않음. 즉 TO_NUMBER() 함수 호출시 에러가 발생되지 않음. --- EOF ---
HASH JOIN시 BLOOM FILTER 사용하기. >> 패턴-------------------------------------------------------------------------------SELECT /*+ LEADING(T1) NO_MERGE(V1) PX_JOIN_FILTER(V1) */ T1.PRDT_ID ,V1.SALES_AMTFROM TB_PRDT T1 ,( SELECT PRDT_ID ,SUM(TRD_AMT) AS SALES_AMT FROM TN_TRADE GROUP BY PRDT_ID ) V1WHERE T1.PRDT_ID IN (1000, 2000, 3000) AND T1.PRDT_ID = V1.PRDT-------------------------------------------..
Oracle SQL튜닝 책중에서 요즘 시간날때 마다 보고 있는 책이 "Oracle SQL 실전튜닝 기본해법" 입니다.구입하지는 2년이 되었지만 그동안 차세대시스템을 구축하느라 계속 미뤄두었는데, 요즘 시간이 나서정독하는 중입니다. SQL튜닝에 관심이 있는 사람들이 보면 좋은 책이고, 책에 오타 및 틀린 삽화가 있으니 저자의 블러그에 방문하셔서 정오표를 출력해서 보거나 책에 직접 수정해서 보셔야 합니다.그동안 튜닝에 관심을 좀 멀리했는데 새롭게 열정을 되살려준 책입니다. ^^^강추 별5개 드림^^ 블러그: http://blog.naver.com/cyszero7
유효한 아이피를 체크하는 정규표현식은 아래와 같습니다. ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ 오라클 정규표현식을 이용하면 SELECT REGEXP_SUBSTR('127.0.0.1', '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3} ([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$')FROM DUAL ;==> 127.0.0.1 유효하지 않는 아이피를 넣었을 때 결과는==> NULL
파티션키로 주로 일자, 월등 날짜를 기준으로 많이 하는데 특정 시기에만 사용하고 지워도 되는경우엔 분기와 같은 특정 값을 사용하기도 함. 1. 분기별 파티션 : 1 ~ 3월 -> 1, 4 ~ 6월 -> 2 ..... 계산식 = TO_CHAR(SYSDATE, 'Q') 2. 분기당 파티션 예제 1 : 1월 -> 1, 2월 ->2, 3월 ->0, 4월 ->1 .... 계산식 = MOD(TO_CHAR(SYSDATE, 'MM'), 3) 3. 분기당 파티션 예제 2 : 1월 -> 1, 2월 ->2, 3월 ->3, 4월 ->1 .... 계산식 = MOD( TO_CHAR(SYSDATE, 'MM') - (TO_CHAR(SYSDATE,'Q')-1)*3, 4) --- EOF ---
SELECT PRDT_CD ,REGEXP_SUBSTR(PRICE, '[^|]+', 1, LV) AS VALFROM( SELECT PRDT_CD ,PRICE ,REGEXP_COUNT(PRICE, '[|]') AS CNT FROM ( SELECT '휴대폰' AS PRDT_CD ,'100|200' AS PRICE FROM DUAL UNION ALL SELECT '냉장고' AS PRDT_CD ,'100|200|300|400' AS PRICE FROM DUAL ) ) V1,( SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL = LVORDER BY PRDT_CD ,VAL PRDT_CD VAL-----------냉장고 100냉장고 200냉장고300냉장고 400휴대폰 100휴대폰 200 -..
- Total
- Today
- Yesterday
- 루미큐브 종류
- Sybase IQ
- Life Chair
- 오미크론
- weka
- 톡토기
- 유가바이트디비
- Pixel Pals
- yugabyteDB
- 르세라핌
- VARIDESK
- 고체 향수
- 빈센트 반 고흐
- 코라나 19
- 파나소닉 비데 DL-EH10KWS
- GKRS
- 솔리드 쿨론
- 별잉 빛나는 밤
- 별이 빚나는 밤
- JMW 헤어드라이기기
- 홈 오피스
- 화분벌레
- 로니카 BCS
- 배당급
- node.js
- 매직 트랙패드2
- 카카오 에드
- 남설 팔찌
- 브리다 정수기
- 증권정보포털
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |