-
MySql 워크벤치에서 프로시저 생성MySQL 2020. 6. 7. 14:51
프로시저 생성
- DEFINER: 접근 권한
- PROCEDURE [프로시저이름]
- 매개변수 + 타입
- SET 변수설정
- 기호가 없으면 프로시저 실행이 끝나면 초기화
- @ 있음녀 프로시저가 끝나도 계속 유지
- CONCAT(): 문자열 합치기
- PREPARE: 실행준비 (한번만 해주면 계속 EXECUTE 해줄 수 있음)
- EXECUTE: PREPARE 된 것을 실행
CREATE DEFINER=`root`@`%` PROCEDURE `test_prc`(id int(10)) BEGIN SET @t1 = CONCAT('SELECT * FROM test_', id); PREPARE s FROM @t1; EXECUTE s; END
이런 식의 프로시저는 테이블이름을 배열 변수에 담아서 LOOPING 돌려 한번에 처리 가능
CREATE DEFINER=`root`@`%` PROCEDURE `delete_data`(id int) BEGIN DELETE FROM wave WHERE tester_id=id; DELETE FROM emotion WHERE tester_id=id; DELETE FROM face_eye WHERE tester_id=id; DELETE FROM stt WHERE tester_id=id; DELETE FROM wave WHERE tester_id=id; DELETE FROM pulse WHERE tester_id=id; DELETE FROM file_status WHERE tester_id=id; END
프로시저 콜
call `procedure_name`(인자);
call delete_data(10);