안녕하세요. 프로시져를 처음 배우고 있는데 몇시간 째 막혀서 질문드립니다...
delimiter // mysql> create procedure caseProc( -> @myuserName VARCHAR(10)) -> BEGIN -> DECLARE @bYear INTEGER; -> DECLARE @tti CHAR(3); -> SELECT @bYear = birthYear FROM userTBL -> where name = @myuserName; -> SET @tti = -> CASE -> WHEN (@bYear % 12 = 0) THEN '원숭이' -> WHEN (@bYear % 12 = 1) THEN '닭' -> WHEN (@bYear % 12 = 2) THEN '개' -> WHEN (@bYear % 12 = 3) THEN '돼지' -> WHEN (@bYear % 12 = 4) THEN '쥐' -> WHEN (@bYear % 12 = 5) THEN '소' -> WHEN (@bYear % 12 = 6) THEN '호랑이' -> WHEN (@bYear % 12 = 7) THEN '토끼' -> WHEN (@bYear % 12 = 8) THEN '용' -> WHEN (@bYear % 12 = 9) THEN '뱀' -> WHEN (@bYear % 12 = 10) THEN '말' -> ELSE '양' -> END -> print @myuserName + '의 띠 ===>'+@tti; -> END; -> //
어떻게 수정해야 예제처럼 출력이 될까요?ㅠㅠ
변수를 안쓰고 해봤습니다. mysql은 프로시저에서 select를 그냥 쓸 수 있네요.
delimiter // create procedure caseProc( uName VARCHAR(10)) BEGIN SELECT CONCAT(uName, '의 띠 ===>', tti) FROM ( SELECT CASE WHEN (birthYear % 12 = 0) THEN '원숭이' WHEN (birthYear % 12 = 1) THEN '닭' WHEN (birthYear % 12 = 2) THEN '개' WHEN (birthYear % 12 = 3) THEN '돼지' WHEN (birthYear % 12 = 4) THEN '쥐' WHEN (birthYear % 12 = 5) THEN '소' WHEN (birthYear % 12 = 6) THEN '호랑이' WHEN (birthYear % 12 = 7) THEN '토끼' WHEN (birthYear % 12 = 8) THEN '용' WHEN (birthYear % 12 = 9) THEN '뱀' WHEN (birthYear % 12 = 10) THEN '말' ELSE '양' END tti FROM userTBL WHERE userName = uName) t; END; //