본문 바로가기

DEVELOP

[mysql] 프로시저 만들기

728x90

CREATE DEFINER=`firstmyDBjs`@`%` PROCEDURE `m_prc_ins_register`(
IN in_title varchar(50),
    IN in_contents mediumtext,
    IN in_writer varchar(30),
    
    OUT out_result int
)
BEGIN

    set out_result = 0;
    
insert into todo_register (title, contents, writer, reg_date, del_flag) 
    value (in_title, in_contents, in_writer, now(), 'N' );
    
    select ROW_COUNT() into out_result;

END

 

여기서 DEFINER 부분에 해당 프로시저의 데이터베이스명을 넣는 건줄 알고 실행했다가 권한문제가 계속 발생해서 

해당 RDS는 AWS RDS여서 따로 설정을 해줘야하는 줄 알고 엄청나게 해맸었다.

 

알고보니까 DEFINER 부분에는 해당 RDS 서버의 사용자 아이디를 넣는 거였다.

 

나 같은 경우에는 AWS RDS를 사용하는데, 해당 사용자 아이디는 AWS에서 RDS > Databases 메뉴에 Configuration에 Master username에서 확인할 수 있다.