본문 바로가기
반응형

ORACLE22

Oracle Join, ANSI Join 차이 이번에 안 사실인데 오라클 조인 쿼리가 따로 있고 ANSI 조인 쿼리가 따로 있던 모양이다. 나의 경우, ANSI 쿼리를 배워서 계속 쓰고있었는데 나름 이게 표준이라는 이야기를 듣고 앞으로도 이걸 공부하면서 사용해야겠다. 위 두차이에 대한 문제는 아래 URL을 통해 댓글을 보면 알수있다. http://okky.kr/article/264881 결과적으로 말해서 두개의 차이는 거의 없다고 보면된다. 표준ANSI를 사용하는 이유가 이종 DBMS(MS-SQL,MySQL등) 간의 호환에도 용이하기때문이라고 써있는데. 딱히 차세대 프로젝트라던지에서 DBMS를 교체하지 않는 한 오라클 조인을 써도 무방해보인다. 2015. 9. 16.
Long타입 To_char형태로 변환 Long Type을 To_char로 바꿀수 있는 함수! create or replace FUNCTION LONG_TO_CHAR( in_rowid rowid,in_owner varchar,in_table_name varchar,in_column varchar2) RETURN varchar IS text_c1 varchar2(32767); sql_cur varchar2(2000); BEGIN sql_cur := 'select '||in_column||' from '||in_owner||'.'||in_table_name||' where rowid = '||chr(39)||in_rowid||chr(39); dbms_output.put_line (sql_cur); execute immediate sql_cur i.. 2015. 9. 8.
PreparedStatement 쿼리문 추출하기 JDBC로 쿼리 조회시 select * from board where title = ? and reg_date = ? 로 예를 들어 검색할 경우, stmt.setString(0, title); stmt.setString(0, reg_date); 등으로 입력하지만, 실제 데이터가 잘 들어가서 검색이 되는지 궁금하기도 하다. 하단내용을 그대로 실행하면 이클립스 console창에서 볼수 있다. 위 파일을 import 한뒤, stmt = new LoggableStatement(conn, BOARD_SEARCHLIST); System.out.println("\t sQuery ? " + ((LoggableStatement)stmt).getQueryString() + "\n"); 작성만 해주면 끝 참고자료 : htt.. 2015. 4. 16.
숫자로 된 값 휴대전화 포맷으로 만들기 WITH t AS ( SELECT PHONE_NUMBER FROM ADDRESS -- 조회하고자 하는 테이블 및 컬럼 명시 ) SELECT PHONE_NUMBER , REGEXP_REPLACE(PHONE_NUMBER , '(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064' ||'|010|011|016|017|018|019' ||'|030|050|060|070|080)' ||'(.+)(.{4})' , '\1-\2-\3' ) ADDRESS FROM t ; ※ jsp에서 코멘트안에서 작업시 \1-\2-\3 의 값을 \\1-\\2-\\3 로 변경을 해주어야 인식한다. 참고사이트 : http://www.gurubee.net/article/56491 2015. 4. 3.
IN과 EXISTS Exists 와 IN 차이점 - EXISTS : 단지 해당 row가 존재하는지만 확인하고, 더 이상 수행되지 않는다. - IN : 실제 존재하는 데이터들의 모든 값까지 확인한다. - 일반적인 경우에 EXISTS가 더 좋은 성능 나타내므로, 사용을 권장 한다. - NOT IN을 사용하면 조건에 맞는 데이터가 있다고 하더라도 NULL 이 존재하면 “no rows selected”라고 나오게 된다. 따라서 NVL를 이용한 NULL 처리가 꼭 필요하다. Exists 사용방법 - 매핑을 꼭 넣어주어야 한다. SELECT * FROM TABLE A WHERE EXISTS ( SELECT TEMP FROM TABLE B WHERE A.INDEX=B.INDEX ) 뭐 이런식으로 출처 : http://javafactor.. 2015. 3. 23.
동일테이블 데이터 부분복사 Q) 동일 테이블내 FUND_CODE가 '00000' 인 데이터를 FUND_CODE가 '00001' 인 신규 펀드코드에 동일하게 복사해라. 대신 유니크한 데이터 값인 ID는 유니크하게 유지하여야한다. A) SELECT (ID+ROWNUM) AS ID FROM ( SELECT (select max(id) from FUND_INFO) AS ID FROM FUND_INFO ); -------------------------------------------------------------------------------- 어차피 다른 정보들은 그대로 유지하되 유니크값인 ID와 FUND_CODE만 변경해주면 되므로, INSERT INTO SELECT 를 사용하여 기존데이터는 그대로 입력하게 쿼리를 작성해주고, 변.. 2015. 1. 28.
반응형