2013-01-23

[ORACLE] MERGE INTO 한방정리




MERGE INTO A_TABLE B
USING B_TABLE B
ON
(
    A.NO = '0'
    A.ID = B.ID
)
WHEN MATCHED THEN
UPDATE
SET
    VAL1 = B.VAL1
,   VAL2 = B.VAL2
;

[출처] Oracle Update Join|작성자 라이오스


2013-01-21

[ORACLE] TRUNC 함수 한방정리


예문

SELECT SYSDATE
, TRUNC(SYSDATE)
, TRUNC(SYSDATE, 'YEAR')
, TRUNC(SYSDATE, 'MONTH')
, TRUNC(SYSDATE, 'DAY')
, TRUNC(123.4567,2)
, TRUNC(123.4567)
FROM DUAL


결과

2013/01/21 21:13:18
2013/01/21 00:00:00
2013/01/01 00:00:00
2013/01/01 00:00:00
2013/01/20 00:00:00
123.45
123

2013-01-12

python 한글깨짐 고치기


PyScripter를 사용해서 공부를 시작하려고 하는데 이녀석이 초반부터 사람 갈 길을 막습니다.

작성할 때 한글을 포함한 문서를 저장하고 다시 불러오면 한글이 다 깨져 버리네요.



헉 이게 무슨 음모인가요?
포스팅 할려고 "한글"이라 하니 "?쒯?" 이라 뱉어 주시는 PyScripter님. 유머감각도 넘치셔라;;;
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ



수업 시간에 배운 방법은 File encoding comment를 적어주는 방법이었습니다. 아래 처럼 하면 되죠.

[Edit] - [Insert Template] 을 선택해서 File encoding comment를 추가하는 것입니다.  직접 타이핑 해도 되구요.




이렇게 하면 문서를 닫고 다시 불러와도 한글이 깨지지 않습니다. 하지만 이 방법은 솔직히 좀 불편하더군요. 추가해줘야하니깐요.
(물론 아예 처음부터 추가되게 하는 방법이 있겠지만요.)

그래서 열심히 PyScripter의 메뉴를 뒤져 봤습니다!! 
안 되면 되게하라!!
역시나 친절히도 파일 포멧을 설정할 수 있는 부분이 바로 근처에 있더군요.
영어권에서 사용하는 녀석이라 파일 포멧이 ANSI로 되어 있었습니다. 
그래서 이걸 과감히 UTF-8로 바꿔 줬습니다.


다시 문서를 저장하고 불러오니 한글이 전혀 깨지지 않는군요.^^
이제 해결 했으니 다시 열공모드로 고고싱!!

아아.. 그런데..
뒤늦게 문제점 하나를 발견했습니다.ㅠㅠ
파일마다 새로 file format을 정해줘야하네요....

2013-01-06

Internet Explorer가 이 웹 사이트 복원 시도를 중단했습니다


Internet Explorer가 이 웹 사이트 복원 시도를 중단했습니다. 웹 사이트에서 계속 문제가 발생하는 것으로 보입니다.

아오.....
이 오류 때문에 몇일을 고생을 했는지
하이튼 이거 때문에 수십군데를 돌아 다니고 이거 저거 다해보고 찾은 방법이
한글 2007때문이라는 것을 알게 되었습니다.

자세히는 모르겠지만 한글 2007 때문에 발생 하는 오류인데요...
해결하는 방법은 한글 2007을 제거...(안되겠죠??)
아니면 Internet Explorer를 7버젼 으로 다운 그레이드...(이것도 좀....)

젤 좋은 방법은 마이크로 소프트에서 보안 패치를 하는것이 제일 좋은 방법이라는 겁니다.
 저도 이거 한방으로 해결 했구요

마이크로 소프트 보안패치 링크 해드립니다.
http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=992602d8-d857-41cf-b7b1-527afdc1dc0f&DisplayLang=ko

다운로드 하셔서 바로 실행 하셔도 됩니다.

바로 해결!!

2012-12-27

[ORACLE] CONNECT BY PRIOR 한방정리





WITH A AS(
    SELECT 'A' AS CODE, '' AS P_CODE , '인사팀' AS TEAM_NAME FROM DUAL
    UNION ALL
    SELECT 'B' AS CODE, '' AS P_CODE , '관리팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'C' AS CODE, '' AS P_CODE , '구매팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
 
    SELECT 'D' AS CODE, 'A' AS P_CODE , '인사파트' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'E' AS CODE, 'A' AS P_CODE , '총무파트' AS TEAM_NAME  FROM DUAL
    UNION ALL
 
    SELECT 'F' AS CODE, 'B' AS P_CODE , '관리파트' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'G' AS CODE, 'B' AS P_CODE , '경리파트' AS TEAM_NAME  FROM DUAL
    UNION ALL
 
    SELECT 'J' AS CODE, 'D' AS P_CODE , '천과장' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'K' AS CODE, 'D' AS P_CODE , '이대리' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'L' AS CODE, 'D' AS P_CODE , '윤주임' AS TEAM_NAME  FROM DUAL
    UNION ALL
 
    SELECT 'M' AS CODE, 'E' AS P_CODE , '김과장' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'N' AS CODE, 'E' AS P_CODE , '홍대리' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'O' AS CODE, 'E' AS P_CODE , '안선임' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'P' AS CODE, 'E' AS P_CODE , '문사원' AS TEAM_NAME  FROM DUAL
    UNION ALL
     
    SELECT 'Q' AS CODE, 'F' AS P_CODE , '오과장' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'R' AS CODE, 'F' AS P_CODE , '도사원' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'S' AS CODE, 'G' AS P_CODE , '서부장' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'T' AS CODE, 'G' AS P_CODE , '허대리' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'U' AS CODE, 'G' AS P_CODE , '전주임' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'V' AS CODE, 'C' AS P_CODE , '고상무' AS TEAM_NAME  FROM DUAL
)
SELECT LEVEL, CODE,P_CODE,LPAD(' ',  8 * (LEVEL-1))||TEAM_NAME
FROM   A
START WITH P_CODE IS NULL
CONNECT BY  PRIOR CODE = P_CODE
;



***** ORDER BY & ORDER SIBLINGS BY
 - ORDER BY : 통으로 정렬
 - ORDER SIBLINGS BY : 계층별로 정렬