user157629 :
나는 트리거 및 이벤트에 대한 학습 그리고 난 다음 문제를 가지고 :
나는 테이블에 데이터를 삽입 호출하는 트리거를 생성 한 updated_movie
업데이트가 테이블에 만들어 질 때 movie
.
또한, 나는 테이블에서 일부 데이터를 텍스트 파일을 만듭니다 오전 11시 30 분 매일 실행하는 이벤트를 만들려면 updated_movie
. 지금까지이 만든 :
delimiter !!
drop event if exists createFile !!
create event createFile on schedule at "11:30"
do begin
declare path varchar(255) default "/Users/Shared/BDD/L19/";
declare nameFile varchar(255) default curdate();
declare done int default 0;
declare t varchar(255);
-- creation of the text file?
declare c cursor for select title from updated_movie;
declare continue handler for not found set done = 1;
open c;
l:loop
fetch c into t;
if done = 1 then
leave l;
end if;
call copyIntoFile(t, nameFile);
end loop l;
end!!
delimiter ;
이것은 내가 매일 실행해야 할 이벤트이다. 어떻게 선언 된 변수와 동일한 파일 이름으로 이벤트에 선언 된 경로에 텍스트 파일을 만들 수 있습니다 nameFile
?
또한, 과정은 copyIntoFile
지금까지 다음과 같습니다 :
delimiter !!
drop procedure if exists copyIntoFile !!
create procedure copyIntoFile(in str varchar(255), in fileName varchar(255)
begin
-- Copy into the text file?
end !!
delimiter ;
내가 텍스트 필드에 일부 데이터를 삽입 할 수 있도록 어떻게 그것을 할 수 있습니까?
당신이 궁금해하는이 경우, 테이블 updated_movie
하나 개가 varchar(255)
필드.
아키나 :
CREATE EVENT createFile
ON SCHEDULE
EVERY 1 DAY
STARTS CURRENT_DATE + INTERVAL '11:30' HOUR_MINUTE
ENABLE
DO
SELECT *
INTO OUTFILE 'drive:\\folder\\filename.ext'
FROM updated_movie
WHERE created_at >= NOW() - INTERVAL 1 DAY;
필요한 경우 수출 사양을 추가, 조건, 출력 표현을 수정합니다.
확인 secure_file_priv
설정과 관련된 사람을 따라 forder 대상을 정당화. FILE 권한이 필요합니다.
추신. BEGIN-END, DELIMITER 등 - 과잉이다.