--프로시저 실행일 다음달 1일부터 말일까지 테이블 생성

--템플릿 테이블 필요(테이블명_exam)

--생성테이블 규칙 : TB_NAME_yyyyMMdd


DROP PROCEDURE IF EXISTS `create_log_table`;

DELIMITER $$

CREATE PROCEDURE create_log_table(IN TB_NAME VARCHAR(50))

    

BEGIN


DECLARE i INT DEFAULT 0;

        SET @startDay = DATE_ADD(LAST_DAY(NOW()), INTERVAL 1 DAY);

SET @lastDay = DAY(LAST_DAY(DATE_ADD(NOW(),interval 1 MONTH)));

        

WHILE i < @lastDay DO

SET @log_date = DATE_FORMAT(DATE_ADD(@startDay, INTERVAL i DAY), '%Y%m%d');

SET @stmt_query = CONCAT('CREATE TABLE ',TB_NAME,'_',@log_date,' LIKE ',TB_NAME,'_exam;');

            

            PREPARE stmt FROM @stmt_query;

            

            START TRANSACTION;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

COMMIT;

            

SET i = i + 1;

END WHILE;

END$$

DELIMITER $$





-- 1달에 1번 실행, 시작일 2017-12-01

DROP EVENT IF EXISTS event_create_log_table;


DELIMITER $$

CREATE EVENT event_create_log_table

     -- ON SCHEDULE EVERY 1 MONTH STARTS TIMESTAMP('2017-12-01') ENABLE

        ON SCHEDULE EVERY 1 MONTH STARTS '2017-12-01 00:00:00' ENABLE


    DO 

    job1:BEGIN

CALL log.create_log_table('viewlog');

CALL log.create_log_table('clicklog');

                CALL log.create_log_table('ad_log');

END job1

$$

DELIMITER ;















'프로그램 > - Sql' 카테고리의 다른 글

MySQL GROUP_CONCAT  (0) 2016.08.05
[Mysql] procedure, event scheduler 추가 실행 구문  (0) 2014.12.30
[MS-SQL]사용자 함수 ZELLOFILL,LPAD  (0) 2014.12.03
[Mysql] 문자열 합치기 CONCAT  (0) 2014.11.13
[Mysql] Update Select  (0) 2014.11.13

GROUP_CONCAT(DISTINCT 필드명 SEPARATOR '구분값' )




SELECT GROUP_CONCAT(DISTINCT 테이블컬럼명 SEPARATOR '구분값' ) FROM 테이블명



결과

1

2

2

2

3

4

.

.



결과

1,2,3,4,...


DISTINCT 제외시

결과

1,2,2,2,3,4...





<title>페이지 제목</title>


<!-- 기본 메타 태그 -->

<meta name="generator" content="페이지 제작툴" />

<meta name="author" content="제작자" />

<meta name="keywords" content="메타 키워드" />

<meta name="description" content="페이지 요약설명" />

*웹페이지에 대한 간략한 설명을 나타내며 단순 키워드만을 나열하는 것은 피해야 한다. 검색결과에 표시되는 분량은 영문 기준 최대 160자 이므로 한글은 40~50글자 이내에서 1~2개의 핵심 키워드를 넣어 의미있는 문장으로 구성하는게 좋을 듯 하다.


<meta name="copyright" content="저작권 정보" />

<meta name="subject" content="웹사이트 주제 입력" />

<meta name="title" content="웹사이트 이름" />

<meta name="publisher" content="만든단체 또는 회사" />

<meta name="other agent" content="웹사이트 책임자" />

<meta name="classification" content="카테고리 분류" />

<meta name="reply-to(email)" content="메일주소" />

<meta name="filename" content="파일이름 입력" />

<meta name="author-date(date)" content="제작일" />

<meta name="location" content="위치/대한민국인지등 나라이름기록" />

<meta name="distribution" content="배포자" />

<meta name="copyright" content="저작권" />

<meta name="robots" content="index,follow" />  : 이 문서도 긁어가고 링크된 문서도 긁어감.

<meta name="robots" content="noindex,follow" />   : 이 문서는 긁어가지 말고 링크된 문서만 긁어감.

<meta name="robots" content="index,nofollow" />   : 이 문서는 긁어가되, 링크는 무시함.

<meta name="robots" content="noindex,nofollow" />   : 이 문서도 긁지 않고, 링크도 무시함.

<meta http-equiv="Expire" CONTENT="-1">   :캐쉬 완료(파기)시간 정의.

<meta http-equiv="Last-Modified" CONTENT="Mon,20 Jul 2007 19:30:30">   :최종수정일을 정의.

<meta http-equiv='Cache-Control' CONTENT='no-cache'>   :캐쉬가 되지 않게 하는 태그

<meta http-equiv='Pragma' CONTENT='no-cache'>   :캐쉬가 되지 않게 하는 태그

<meta http-equiv="Content-type" content="text/html; charset=euc-kr">   :웹문서의 언어 설정.

<meta http-equiv="Imagetoolbar" content="no">   :그림위에 마우스 오버시 이미지 관련 툴바가 생기지 않음.

<meta http-equiv="Refresh" content="15;URL=http://galaxy.channeli.net/jakalky/sitemap.htm">   :페이지이동

<meta http-equiv="Page-Enter" content="RevealTrans(Duration=5/시간 초단위, Transition=21) ">  :페이지 로딩시 트랜지션 효과(장면 전환 효과)


<!-- 페이스북 -->

<meta property="og:title" content="제목"/>

<meta property="og:site_name" content="사이트명"/>

<meta property="og:type" content="분류 (website,article,place,product,event ...)"/>

<meta property="og:url" content="주소"/>

<meta property="og:image" content="썸네일 (200x200.jpg)"/>

<meta property="og:description" content="요약글"/>

 

<!-- 트위터 -->

<meta name="twitter:card" content="분류 (summary, photo, gallery ...)">

<meta name="twitter:title" content="제목">

<meta name="twitter:site" content="사이트명">

<meta name="twitter:creator" content="작성자명">

<meta name="twitter:image" content="썸네일">

<meta name="twitter:description" content="포스트 내용">

 

<!-- 선호 URL -->

데스크톱과 모바일 URL의 사이트설정. 

*모바일 URL에서 PC 페이지를 가리키는 rel=”canonical” 태그는 필수입니다.

<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/page-1" >

<link rel="canonical" href="http://www.example.com/page-1" >



[참고 사이트 URL]

Facebook

https://developers.facebook.com/docs/sharing/webmasters

Twitter

https://dev.twitter.com/cards/markup

Google

https://support.google.com/webmasters/answer/79812?hl=ko

https://developers.google.com/webmasters/mobile-sites/mobile-seo/configurations/separate-urls?hl=ko


'프로그램 > - Etc' 카테고리의 다른 글

log4j 로그레벨  (0) 2014.11.28
[Excel] Rand함수를 이용한 정렬  (0) 2013.01.14
[Excel] 전치행렬 TRANSPOSE함수  (0) 2011.07.05

1. jsp에서 xml형식으로 화면을 출력하기 위해서 xml선언문이 최 상단에 있어야 한다.

  디렉티브가 상단에 있을경우 출력시 에러 발생

  *디렉티브(Directive) : page, taglib, include


2. page contentType은 text/xml 이어야 한다.


3. 샘플 화면

1) 오류



2) 정상동작



*추가방법(JSP 2.1) jstl, Directive 공백 제거

1. web.xml에 추가

<jsp-config>

  <jsp-property-group>

    <url-pattern>*.jsp</url-pattern>

    <trim-directive-whitespaces>true</trim-directive-whitespaces>

  </jsp-property-group>

</jsp-config> 


2. @Page trimDirectiveWhitespaces 개별 true / false 설정





-- procedure 등록 구문

DELIMITER $$

CREATE PROCEDURE 프로시저명()

BEGIN

    DELETE FROM 테이블명A;


    INSERT 테이블명A

    SELECT cid

           ,count(*) AS viewcount

           ,SYSDATE() AS regdt

      FROM 테이블명B

     WHERE regdt BETWEEN DATE_ADD(SYSDATE(),INTERVAL -12 HOUR) AND SYSDATE()

     GROUP BY cid

     ORDER BY count(*) DESC,regdt DESC

     LIMIT 0,5;

END$$

DELIMITER ;


-- procedure 식행 구문

call 프로시저명();


-- event scheduler 구문

CREATE EVENT IF NOT EXISTS DB명.이벤트스케쥴러명

    ON SCHEDULE

        EVERY 10 MINUTE -- event scheduler 실행 간격(년,월,일,시,분,초)

        STARTS '2014-12-30 16:00:00' -- scheduler 등록시간 +10분

    DO

        call DB명.프로시저명(); -- event scheduler로 등록할 쿼리구문

'프로그램 > - Sql' 카테고리의 다른 글

[Mysql] 테이블생성 프로시저와 실행 이벤트  (0) 2017.11.28
MySQL GROUP_CONCAT  (0) 2016.08.05
[MS-SQL]사용자 함수 ZELLOFILL,LPAD  (0) 2014.12.03
[Mysql] 문자열 합치기 CONCAT  (0) 2014.11.13
[Mysql] Update Select  (0) 2014.11.13

/*

fn_LPAD(문자열,길이,빈공간을채울문자)

*/

CREATE FUNCTION fn_LPAD

(@ename VARCHAR(20),@ct INT, @chr VARCHAR(2))


RETURNS VARCHAR(100)


AS


BEGIN

RETURN (REPLICATE(@chr,@ct-LEN(@ename))+@ename)

END


*결과*



[출처] mysql의 zerofill 따라하기|작성자 클리프

로그레벨은

TRACE > DEBUG > INFO > WARN > ERROR > FATAL 순 입니다.

 

# Log Level
# TRACE : 추적 레벨은 Debug보다 좀더 상세한 정보를 나타냄
# DEBUG : 프로그램을 디버깅하기 위한 정보 지정
# INFO :  상태변경과 같은 정보성 메시지를 나타냄 
# WARN :  처리 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄 
# ERROR :  요청을 처리하는 중 문제가 발생한 경우
# FATAL :  아주 심각한 에러가 발생한 상태, 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능할 경우


'프로그램 > - Etc' 카테고리의 다른 글

Meta정보 정리  (0) 2015.06.19
[Excel] Rand함수를 이용한 정렬  (0) 2013.01.14
[Excel] 전치행렬 TRANSPOSE함수  (0) 2011.07.05
SELECT CONCAT(CAST(int_col AS CHAR), char_col);


mysql> SELECT CONCAT('My', 'S', 'QL');
        -> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
        -> NULL
mysql> SELECT CONCAT(14.3);
        -> '14.3'


mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
        -> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
        -> 'First name,Last Name'


출처 : http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat

UPDATE TABLE_A A, TABLE_B B

       SET A.COLUMN_1 = B.COLUMN_2

  WHERE A.COLUMN_3 = B.COLUMN_5;




UPDATE TABLE_A A 

     LEFT JOIN TABLE_B B 

        ON A.COLUMN_1= B.COLUMN_2 

       SET A.COLUMN = COLUMN_2

  WHERE A.COLUMN2 IS NULL


출처 : http://dev.mysql.com/doc/refman/5.0/en/update.html

# 에러 메세지

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.


# 원인

Safe Update 모드 상태로 설정되어 있어서 UPDATE시 KEY 컬럼을 이용하지 않을 경우 업데이트할 수 없음.

 

# 해결방법

- Query

SET SQL_SAFE_UPDATES =0;


- Workbench 설정 

safe 모드 체크 해지




'프로그램 > - Sql' 카테고리의 다른 글

[Mysql] 문자열 합치기 CONCAT  (0) 2014.11.13
[Mysql] Update Select  (0) 2014.11.13
Ms-SQL ㄱㄴㄷ 가나다 검색  (0) 2013.05.08
MSSQL2008 튜닝 자료  (0) 2011.11.14
MS2008 로그확인 & 사이즈 축소  (0) 2011.11.14