2013-01-18 12 views
4

저장 프로 시저 내에서 이벤트를 만드는 방법은 무엇입니까?mysql - 저장 프로 시저에 이벤트 생성

이것은 내가 시도한 것이며 구문 오류가 있다는 것을 알려주며 어디서 만 알려주지 않습니다.

-- -------------------------------------------------------------------------------- 
-- Routine DDL 
-- Note: comments before and after the routine body will not be stored by the server 
-- -------------------------------------------------------------------------------- 
DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `update_leaderboard`() 
BEGIN 


CREATE EVENT update_leaderboard_event 
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 minute 
    DO call update_leaderboard(); 



END 

편집 : 내 MySQL의에 따르면 (마지막 줄)이 가능해야한다 :

구문 ". 저장 루틴의 일부로 이벤트를 작성할 수 있지만 이벤트는 다른 이벤트로 작성할 수 없습니다. 몸 이

존재하지만 아직 솔루션, 내가 어떻게해야하지 않을 때 금지되는 이벤트 DDL 문 재귀 :

오류 1576 :

Edit2가 문제를 발견 그때?

답변

2

내부 절차를 만들 수 없습니다. 별도로 정의해야합니다. http://goo.gl/6Hzjvg

+1

마지막을 읽은 다음 직접 MySQL의 엔진 데이터베이스에 이벤트를 생성/ 에 대한 요청을 보낼 변경 주기적으로 행을 읽는 특별한 외부 응용 프로그램 "create_alter 이벤트 필요" 라인 : 구문 ". 저장 루틴의 일부로 이벤트를 작성할 수 있지만 다른 이벤트가 이벤트를 작성할 수는 없습니다. –

0

우리는 MySQL의 엔진 데이터베이스에 직접 "요청"에 의해 특별한 외부 응용 프로그램에서 생성 "이벤트를 ALTER" "이벤트 만들기"와 :

그냥 MySQL의에게 Event Scheduler
세부 블로그를 확인하십시오. 특별한 테이블에 트리거 또는 절차에서

삽입 행