plming/DB(52)
-
[MySQL] millisecond, microsecond 표시하기
Timestamp Type Column에 NOW() 든 CURRENT_TIMESTAMP() 든 값을 줘서 Insert/Update를 했지만... 기본적으로 DATE_FORMAT( NOW(), '%Y-%m-%d %H:%i:%s.%f' )를 사용했더라도 millisecond, microsecond 가 표시되지 않는다. 1. Column Type이 Timestamp(6) 으로 만들어져야 하고 2. 날짜값을 만들 때 NOW( 6 ) CURRENT_TIMESTAMP( 6 ) 이런 식으로 몇자리까지(0~6까지)의 소수 시간(fractional seconds precision)을 표시할 것인지 인자를 전달해야 한다. 기본값은 생략해도 되는지라...
2017.10.16 -
ERD - 테이블 관계(식별,비식별)
간혹 헛갈리는 경우가 있지만 내용은 간단하다. 1. 부모 테이블의 PK가 자식 테이블에서도 PK로 쓰였느냐 그렇지 않느냐. 2. 부모 테이블과 자식 테이블이 1:1 이냐 1:N 이냐. ☞ 부모 테이블에 DATA가 1개 있는 경우 자식 테이블에 DATA가 몇 개 있느냐를 따지는 것. 부모 테이블의 PK가 자식 테이블에서도 PK로 쓰였다면? 식별관계 → 직선으로 표시 부모 테이블의 PK가 자식 테이블에 있기는 하지만 PK로 쓰이지 않았다면? 비식별관계 → 점선으로 표시 테이블의 관계가 1인 경우 테이블의 관계가 1~N개인 경우 여기에 0개일 경우가 존재한다면 위의 선 모양들에 동그라미(O)만 쳐주면 끝. 테이블의 관계가 0이거나 1인 경우 테이블의 관계가 0~N개인 경우 뭔가 많이 복잡스러워 보이는 것 같지..
2016.06.08 -
eXERD
30일의 평가판 라이센스를 사용 후 (그 이전에라도) 개인사용자는 비영리 목적으로는 무료로 정품등록을 할 수 있다. (Link) 그런데도 기능은 괜찮은 듯 처음부터 그릴 수도 이미 만들어 놓은 DB에서 ERD를 만들수도(리버스 엔지니어링) (Link) 도움말도 있고 eclipse plugin도 있고 좋넹~ ^^ http://ko.exerd.com/
2016.06.08 -
[Oracle] SQLException: 소켓에서 읽을 데이터가 없습니다
처리의 편의상 존재여부에 따라 Insert와 Update를 할 수 있는 Merge를 사용하게 되는데... Oracle은 JDBC Driver의 문제도 자주 생기지만 (최신 버전을 사용하면 거의 해결되는...) 그렇지 않은 경우도 존재한다. 이런 경우를 잘못 만나면 시간만 엄청 날릴 수 있다...;;; Varchar, CLOB Type을 사용하는 컬럼이 1,000 여자일 경우에는 Merge도 무난하다. 하지만, 그 이상의 경우에는 Check the statement (update failed). ← merge를 통한 insert의 경우에도 update로 인식;;; Cause: java.sql.SQLException: 소켓에서 읽을 데이터가 없습니다 번거롭지만 Insert / Update로 분리하면 상황 종..
2016.04.18 -
[Oracle] WITH(Temp Table) 2개 사용하기?
Temp Table A를 만들고 그 Temp Table 에 항목 B를 추가해서 Temp Table C를 만들어야 한다면 어렵게 생각하지 않아도 된다. 이미 Temp Table A를 만들었다면 이미 99%는 해 놓은 거나 마찬가지다. WITH TB_MAIN AS ( SELECT LEVEL AS LV_NO FROM DUAL CONNECT BY LEVEL
2016.04.07 -
[Oracle] 조회 결과 Row를 하나의 Column으로 표시하는 방법
[Oracle] 조회 결과 Row를 하나의 Column으로 표시하는 방법 종[縱]으로 된 결과를 횡[橫]으로 표시 세로로 된 결과를 가로로 표시 SELECT 'A' AS COL_NAME , LEVEL AS LV_NO FROM DUAL CONNECT BY LEVEL
2016.04.07