테이블 삭제





mysql wp_ 으로시작하는 테이블 모두 삭제하기.


phpmyadmin 에서 실행하면 됨.
SET GROUP_CONCAT_MAX_LEN=10000;
SET @tbls = (SELECT GROUP_CONCAT(TABLE_NAME)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database_Name'
AND TABLE_NAME LIKE 'wp_%');
SET @delStmt = CONCAT('DROP TABLE ', @tbls);

-- SELECT @delStmt;

PREPARE stmt FROM @delStmt;
EXECUTE stmt;

DEALLOCATE PREPARE stmt;

위 벌건 부분 수정하면 됨.



Microsoft Network Monitor 3.4 링크 마소 네트워크 모니터

개발할때 사용하는 유용한 프로그램

 

 

아래는 다운로드 링크~~ ㅋ

 

Microsoft Network Monitor 3.4
  

오라클에서 트리거를 생성했을때, 잘돌아 가고 있는지, 확인할때 쿼리

USER_OBJECTS 테이블을 봤다.

OBJECT_TYPE에 TRRIGER 로 검색을 해보면 오오 STATUS라고 나온다. ㅋ

VALID, INVALID라고 구분되어 있다... 컥... 근데 활성화 비활성화는 구분이 안된다 ㅡ.ㅡ;;;

 

해서 오라클에서 제공해주는 USER_ 테이블중 찾아보니

USER_TRIGGERS라는 놈이 있다. ㅋㅋ 오호랏. 조회를 해보니

STATUS라는 컬럼이 있다.  안에 데이터값은 ENABLED/ DISABLED 크크  활성/비활성 찾았다. 빙고, ㅋ

 

SELECT A.TRIGGER_NAME

       , CASE A.STATUS WHEN 'DISABLED' THEN '사용안함' ELSE ' ' END     AS ENABLED

       , CASE B.STATUS WHEN 'INVALID' THEN '오류있음' ELSE ' ' END   AS STATUS

  FROM USER_TRIGGERS A

        , USER_OBJECTS B

WHERE A.TRIGGER_NAME = B.OBJECT_NAME

  AND B.OBJECT_TYPE = 'TRIGGER'

AND (     A.STATUS = 'DISABLED'

         OR B.STATUS = 'INVALID'

)

--AND A.TABLE_NAME IN ( '' ,'' )

 

요렇게 짜면 문제 있는 트리거 상태를 한눈에 확인 할 수 있을 테다..  훗훗.

 

 

 

그랫더니 요청이 온다.   UI 화면에서 핸들링 하도록 해달라고 ㅡ.ㅡ^

ALTER TRIGGER 트리거명(보통은 테이블명에다 TRIG붙임) DISABLE;

ALTER TRIGGER 트리거명(보통은 테이블명에다 TRIG붙임) ENABLE;

을 호출하도록한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 





오라클에서  WM_CONCAT 을 사용 했을때,, 정렬이 너무 맘대로 나와서..
쓰기가 좀 그랫었는데..
 
예제를 보자.. 
SELECT A.GRP, WM_CONCAT(A.CD) AS CD
FROM 
(
    SELECT 'A01' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'A01' AS GRP, '20' AS CD FROM DUAL
    UNION ALL
    SELECT 'A01' AS GRP, '30' AS CD FROM DUAL
    UNION ALL
    SELECT 'A02' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'B01' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'B01' AS GRP, '20' AS CD FROM DUAL
) A
GROUP BY A.GRP
;
 
20151118_131355.png
 
이렇게 GRP 그룹 A01에 CD코드가 10, 30, 20 으로 정렬이 자기 맘대로 나오는 걸 볼수가 있다.
구분자도 , 콤마로 고정이고, ^^

 

WM_CONCAT은 12버전에서 드디어 삭제됨. ㅋㅋ 

 
 

 

 

 
오라클 11G 버전 이상이면 LISTAGG 함수로 원하는 것을 쪽 뽑아낼수 있다.
구분자도 줄수 있고, 정렬도 할수 있다.
SELECT A.GRP, LISTAGG(A.CD,':') WITHIN GROUP(ORDER BY A.CD) AS NAMES
FROM 
(
    SELECT 'A01' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'A01' AS GRP, '20' AS CD FROM DUAL
    UNION ALL
    SELECT 'A01' AS GRP, '30' AS CD FROM DUAL
    UNION ALL
    SELECT 'A02' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'B01' AS GRP, '10' AS CD FROM DUAL
    UNION ALL
    SELECT 'B01' AS GRP, '20' AS CD FROM DUAL
) A
GROUP BY A.GRP
;
20151118_131751.png
 
이렇게 정렬도 하고 구분자도  : 요렇게 원하는 케릭터로... 지정해서 쓸수 있음..

 

합치는 문자열이 4000바이트 이상이면 오류가 난다.

ORA-01489

 

on overflower truncate '...'   --> 12버전에서 생긴..  넘치믄 짜르고 "..." 문자열 표시함.. 근본적인 해결은 안됨. ㅎ

 

 






-- 2016.04.07 역시나.. 오라클 버전 10g 에선 정렬이 안되는데.. 써야 할일이 있다... 열심히 구글링을 하여 써먹을 수 있는
XMLAGG 문서만드는거랑 .XMLELEMENT 엘레멘터. 요걸로.. 원하는 결과값을 얻을 수 있었다.

SELECT A.GRP, SUBSTR(XMLAGG(XMLELEMENT(COL, ',', A.CD) ORDER BY A.CD).EXTRACT('//text()').GETSTRINGVAL(), 2) AS CD
 FROM 
(
SELECT 'A01' AS GRP, '30' AS CD FROM DUAL
UNION ALL
SELECT 'A01' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'A01' AS GRP, '20' AS CD FROM DUAL
UNION ALL
SELECT 'A02' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'B01' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'B01' AS GRP, '20' AS CD FROM DUAL
) A
GROUP BY A.GRP


결과값


 
 

크핫... ㅎ 

 

 

SELECT A.GRP, SUBSTR(XMLAGG(XMLELEMENT(COL, ',', A.CD) ORDER BY A.CD).EXTRACT('//text()').GETSTRINGVAL(), 2) AS CD
 FROM 
(
SELECT 'A01' AS GRP, '30' AS CD FROM DUAL
UNION ALL
SELECT 'A01' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'A01' AS GRP, '20' AS CD FROM DUAL
UNION ALL
SELECT 'A02' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'B01' AS GRP, '10' AS CD FROM DUAL
UNION ALL
SELECT 'B01' AS GRP, '20' AS CD FROM DUAL
) A
GROUP BY A.GRP

 

 

GETSTRINGVAL() 대신 GETCLOBVAL()을 쓰면 4000바이트 이상 사용 할수도 있다.

12버전 이상에선 데이터 처리를 더 늘이수도 있다.

 

 

 

 

likeCoin



SQL 함수 정리

널체크 함수 여러가지

SELECT NVL(NULL, 'X')
   FROM DUAL
;

SELECT NVL2(NULL, 'A', NULL)
   FROM DUAL
;

SELECT NULLIF('A','X')
   FROM DUAL
;

/* 우선순위 A B C중 널 값 아닌것을 출력함. */
SELECT COALESCE('X', NULL, 'AB')
  FROM DUAL
;

DECODE문이 간단하면 사용하기 편하지만? 그냥 간결함? ㅋ
요즘 어느 프로젝트를 가더라도 DECODE는 코드의 가독성 때문에 환영받지 못하는거 같다.

대부분 걷어 내고 CASE문으로 대체를 하고 있는데,
간혹가다 위의 NVL, NVL2 등의 함수로 대체가능한 DECODE 구문을 주저리 주저리
써놓은 경우가 있어 같이 정리를 해본다.

예를들어
DECODE(A.COL1,NULL,'X-MAN',NULL) 이란 쿼리문장은
한 눈에 잘안들어 오지만,

케이스 문으로 바꾸면
CASE A.COL1
         WHEN NULL THEN 'X-MAN'
                                ELSE NULL
END     AS XMAN
한눈에 아 머하는 거다 라는 게 눈에 들어 온다.
하지만, 위는 널체크 하는 것으로

NVL2(A.COL1, NULL, 'X-MAN') 으로 간결하면서도
이해가 쉬운 NVL2함수로 변경할수 있겠다.

위와같은 경우가 자주 발생하니 오라클에서도 NVL함수 뿐만 아니라 NVL2라는 함수도 만들지 않았을까? ㅋ

 


https://button.like.co/cargotmon



 


 


 
콕시캣
http://coxycat.kr

거만고양이

 

 

 

글출처> http://blog.naver.com/xpurpur/130111088483

 

 

 

eclipse.ini 수정
// PermSize를 지정
--launcher.XXMaxPermSize
256m

// JDK 1.6 이상을 사용할 경우 이클립스 성능의 향상에 도움이 된다고 한다.
// 밑의 설정은 자신의 컴퓨터의 Java를 설치한 경로를 적어주면 된다.
-vm
C:\Program Files\Java\jdk1.6.0_20\bin\javaw.exe

// Java 1.6 버전을 사용하겠다고 명시해준다.
-vmargs
-Dosgi.requiredJavaVersion=1.6

// 처음 시작시 유효성 체크를 하지 않는다.
-Xverify:none
// JVM Heap memory 설정
// 보통 자신의 PC의 메모리의 반정도로 최소와 최대 메모리를 설정하면 성능 향상에 도움이 된다.
-Xms1024m
-Xmx1024m
eclipse 설정
1. Automatic folding 설정 해제
Window > Preferences > Java > Editor > Folding 옵션을 모두 해제(disable)

2. Automatic Code Insight 설정 해제
Window > Preferences > Java > Editor > Code Assit 에서 Enable auto activation 항목을 해제(disable)
자동으로 동작하는 code insight 기능은 죽었지만 [ctrl+space] 로 사용할 수 있다.

3. spelling check 설정 해제
Window > Preferences > General > Editors > Text Editors > Spelling 에서 Enable spelling checking 항목을 해제

4. validation check 설정 해제
Window > Preferences > Validation 필요한 항목만 체크

5. eclipse compare 에서 공백 배제하는 법
Window > Preferences > General > Compae/Patch 에서 Ignore white space 항목을 체크
엔터, 스페이스, 탭.. 이 외에도 ASCII 코드 32 이하의 문자들이 공백문자의 대상입니다.

6. Close Projects
현재 작업과 관련이 없는 프로젝트는 모두 닫는다.

7. 플러그인 삭제
과도하게 많은 플러그인 설치는 실행시간이 오래 걸리게 된다. 사용하지 않을 플러그인은 제거

8. KeepResident 플러그인

이클립스가 최소화 되더라도 working set을 유지.
메모리에 여유가 있다면 KeepResident Eclpse plugin for Windows - KeepResident Eclipse plugin 을 설치한다.

MS Windows 에서 이클립스 최소화할 경우 효율을 위해 working set의 크리를 줄인다.

최소화된 창을 복구 시 장시간 garbage collection이 진행되어 장시간 이클립스가 멈추게 된다.

9. 시작을 빠르게
이클립스를 종료할 때 모든 에디터를 닫는다
Window > Preferences > General > Editors > close all editors on exist 항목을 설정(enable) 한다.
Window > Preferences > General > Startup and Shutdown 에서 불필요한 플러그인을 startup list 에서 제외한다.




------------
It offers the state of heap memory inside the Eclipse status line and the automatic and forced execution of GC and so on
Refresh workspace automatically :
It's possible to let Eclipse refresh the workspace automatically when you copy some resources into your workspace.

[출처] 이클립스 최적화|작성자 히휴

+ Recent posts