mysql 띠 출력하는 stored procedure 만드는 중에 막혀서 질문드립니다. 0 1 1,115

by 천국황제 [MySQL] 띠 출력 [2020.06.07 01:49:38]


질문.PNG (120,498Bytes)
질문2.PNG (64,608Bytes)

안녕하세요. 프로시져를 처음 배우고 있는데 몇시간 째 막혀서 질문드립니다...

 

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;
    -> //

 

어떻게 수정해야 예제처럼 출력이 될까요?ㅠㅠ

by pajama [2020.06.07 23:09:28]

변수를 안쓰고 해봤습니다. 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;
 //

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입