마리오db도 프로시저 만들수 있습니다.
구글에서 mariadb procedure 라고 검색해 보세요
제목: PROCEDURE 예제 DELIMETER ;; CREATE DEFINER=`root`@`localhost` PROCEDURE `prc_insert_emp`( OUT `O_RESULT` INT, OUT `O_MESSAGE` TEXT, IN `P_EMPNO` INT ) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN DECLARE v_step VARCHAR(200); -- 진행단계 변수 선언. 기본값은 NULL DECLARE v_cnt INT; -- 처리건수 변수 선언 DECLARE v_cnt2, v_cnt3 INT DEFAULT 0; -- 처리건수 여러개의 변수를 사용하는 예제 DECLARE v_empno INT DEFAULT P_EMPNO; -- 입력받은 파라미터를 변수에 할당하여 사용 DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 @sql_state = RETURNED_SQLSTATE, @sql_errno = MYSQL_ERRNO, @sql_msg = MESSAGE_TEXT; ROLLBACK; -- 트랜잭션 실패시 롤백 SET O_RESULT = 1; -- 결과는 OUT 파라미터로 내보냄. 프로시저 호출후 세션파라미터로도 가능 SET O_MESSAGE = concat_ws(' : ',v_step,@sql_msg); -- 어느 단계에서 발생했는지 확인하기 위해 v_step 추가 SELECT O_RESULT, O_MESSAGE; -- 프로시저 에러 출력 END; SET v_step = '1.1 start '; -- v_step 에 진행단계 입력 SET v_cnt2 =1, v_cnt3 = 1; -- 처리건수 여러개의 변수에 값을 할당하는 예제 START TRANSACTION; -- 트랜잭션 시작 SET v_step = '1.2 insert into emp '; INSERT INTO emp(empno) VALUES(v_empno); COMMIT; SET v_step = '1.3 end '; SET O_RESULT = 0; SET O_MESSAGE = 'Success'; SELECT O_RESULT, O_MESSAGE; -- 성공 메시지 출력 END// DELIMETER ; 호출예제1) * OUT, INOUT 파라미터는 항상 세션변수로 처리하여 함 CALL prc_insert_emp(@O_RESULT,@O_MESSAGE,30);