출처 : http://blog.naver.com/flydrago/40001931099 Tuning SQL Statements ■■■■ ■■■■■■■■ ■■■■■■■■■■■■ ☜DB Lab. ▲ORAWIS ▲Tuning ◀Prev. Chap. ▶Next. Chap. How to Write New SQL Statements How to Use Hints How to Tune Existing SQL Statements ☞How to Use Hints ● 응용설계자는 특정 데이터에 대하여 optimizer가 알 수 없는 정보를 가질 수 있음. ● 응용설계자는 optimizer보다 더 좋은 execution plan을 선택할 수 있음. ● 응용설계자는 hint를 사용하여 강제적으로 사용자가 선택한 executio..
oracle
SELECT '20060907' AS "날짜" , CEIL((TO_NUMBER(SUBSTRB('20060907', -2, 2)) + 7 - TO_NUMBER(TO_CHAR(TO_DATE('20060907','YYYYMMDD'),'D')))/7) AS "월별 주차" FROM DUAL; 출처 : 오라클 클럽
-- 주차에 포함된 날짜 SELECT NEXT_DAY(TO_DATE(2006||'0101','RRRRMMDD') + (35) * 7, 2)+1, TO_CHAR(SYSDATE, 'IW') FROM DUAL-- 금일의 주차 SELECT TO_CHAR(SYSDATE, 'IW') FROM DUALSELECT DENSE_RANK() OVER(ORDER BY TRUNC(TO_DATE('200609'||TO_CHAR(ROWNUM),'YYYYMMDD'),'d'))||'주차' FROM DUAL-- 해당월의 마지막 주차 구하기 SELECT CEIL((TO_CHAR(LAST_DAY(TO_DATE('200601','yyyymm')),'dd') + TO_CHAR(TO_DATE('200601'||'01'),'d') - 1) / ..
오라클 8i, 9i 언인스톨 테스트해보니 10g도 적용되네요. * 가장 깔금하게 지우는 방법 1. Universal Installer를 통해서 프로그램을 삭제 2. 레지스트리를 삭제 - 실행 - regedit 3. 서비스 정지 4. 시스템 환경변수 PATH, CLASSPATH에서 ORACLE관련디렉토리 삭제* 오라클에서 설치한 모든 경로를 삭제 1. C:\ORACLE Home 디렉토리 삭제(HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME에서 확인) 2. C:\Program Files\Oracle 디렉토리까지 삭제 3. CWI32.DLL 파일이 삭제가 안되는 경우엔 시스템 리부팅 후 삭제* 레지스트리 삭제( 시작 -> 실행 -> regedit) 1. HKEY_CURREN..
DELETE FROM 테이블명 a WHERE rowid > ( SELECT MIN(ROWID) FROM 테이블명 b WHERE b.칼럼 = a.칼럼 )
일어때문에 엄청 삽질 업로드 컴퍼넌트에서 upFrm.codepage = 65001 별걸다 바꿔봐도 특정문자에서는 에러... 혹시나 하는 마음에 DB 접속을 바꿔졌더니;;;; 접속 문자열의 Provider=OraOLEDB.oracle.1.1 로 변경해서 DB 접속
MS-SQL는 TEXT가 있어서 괜찮은데, ORACLE은 4000자가 제한이라서;;; INSERT 시퀀시 가져오기 sql = "select SQ_SEQ.nextval as seq from dual" Set rs = conn.Execute(sql) seq= rs("seq") rs.Close' INSERT 하기전 DB 초기화: empty_clob() strSQL = "INSERT INTO MAILING_SP_TAB (SEQ, CONTENT) VALUES (" & SEQ & " & empty_clob())" conn.Execute(strSQL) ' UPDATE strSQL = "update 테이블 이름 set CONTENT=? where SEQ=?" Set cmd = Server.CreateObject("AD..
sql>variable jobno number; sql>begin 2 sys.dbms_job.submit(:jobno, 'SP이름;', sysdate, 'TRUNC(SYSDATE) + 1', false); 3 End; 4 / sql>print jobno sql>exec dbms_job.run(21); sql>commit; 잡실행여부확인 sql>col what format a20 sql>select what, job, next_date, next_sec, failures, broken from user_jobs;잡강제실행 sql>exec dbms_job.run(21); 잡 Disable sql>exec dbms_job.broken(21, true); 잡 삭제 sql>exec dbms_job.remove(2..