안녕하세요
procedure와 비슷한 function 문법 공부 중 입니다.
숙제 1번을 하던 중 질문이 생겼습니다.
dbeaver를 통해 프리시저 폴터 > 우클릭 > 함수 생성 > plus 란 함수를 생성 할 시
CREATE FUNCTION mart.plus(name varchar(100))
RETURNS varchar(100)
DETERMINISTIC
BEGIN
RETURN CONCAT('안녕하세요 ', name);
END
위와 같은 내용으로 함수를 생성하고
SELECT mart.plus('kim') 을 실행하니 오류가 발생했습니다. 사용할 수 없는 문자라는 내용의 에러였었고,
함수의 소스를 다시 보니 캐릭터셋과 콜래이션이 latin1 로 되어있었습니다.
mart란 데이터베이스는 utf8mb4 / utfmb4_general_ci 를 사용하고 있었습니다.
이 경우에 함수 생성 시 캐릭터셋이 utf8mb4로 설정할 방법이 있는지 궁금합니다.
그리고 숙제의 정답처럼 sql편집기에서 생성을 했을 때에는 왜 정상적으로 utf8mb4 형식으로 함수가 생성 되는지도 궁금합니다.