절차형 SQL

트리거(Trigger)

CREATE TRIGGER 트리거명 BEFORE/AFTER INSERT/UPDATE/DELETE // 트리거 정의
ON 테이블명 FOR EACH ROW
BEGIN
		변경 전 (OLD.칼럼명) 또는 변경후(NEW.칼럼명)을 이용한처리
END

프로시저(Procedure)

CREATE PROCEDURE 프로시저명(인자 인자형,...) // 저장 프로시저 정의
BEGIN     
		SQL 문장들
END
 
CALL 프로시저명(인자); // 저장프로시저 호출

DROP PROCEDURE 프로시저명; // 저장 프로시저 삭제

동적 쿼리

BEGIN
		SET @variable = "variable";
		SET @sql = "SELECT * FROM table WHERE field = ?";
		
		PREPARE dquery FROM @Sql;
		EXECUTE dquery USING @variable;
END
PROCEDURE `MAKE_HISTORY`(tablename varchar(64))
BEGIN
		set @sql = concat('CREATE TABLE HISTORY_', tablename, ' LIKE CF_', tablename);
		
		PREPARE stmt FROM @Sql;
		EXECUTE stmt;
END

사용자 정의 함수