MYSQL
HOME > DB > MYSQL
2017.04.26 / 20:12

Select ÈÄ ¹Ù·Î Update Function

tomcater
Ãßõ ¼ö 306

Select ÈÄ ¹Ù·Î ƯÁ¤ column À» +1 ÇØ¾ß ÇÏ´Â °æ¿ì¿¡ »ç¿ëÇÏ´Â Function ¸¸µé±â


¿ä±¸»çÇ× 1. Åë½Å½Ã »ç¿ëÇÏ´Â Àü¹®¹øÈ£¸¦ DB¿¡¼­ °ü¸®ÇÏ°íÀÚ ÇÑ´Ù.

¿ä±¸»çÇ× 2. Àü¹®¹øÈ£´Â ¸ÅÀÏ 1¹øºÎÅÍ ½ÃÀÛÇÑ´Ù.

¿ä±¸»çÇ× 3. Àü¹®¹øÈ£´Â °ãÄ¡Áö ¾Ê´Â´Ù.


Select ÈÄ ½ÃÄö½º ³Ñ¹ö¸¦ ¹Ù·Î update ÇØ¾ß ÇÏ´Â °æ¿ì Spring Service Interface ¸¦ ÇϳªÀÇ TransactionÀ¸·Î ¹­¾î¼­ ó¸® Çϸé

µÎ¹øÀÇ query¸¦ ³¯·Áµµ ¹«°üÇϳª ÇϳªÀÇ Äõ¸®¸¦ ÅëÇØ Ã³¸®ÇÏ´Â °ÍÀÌ ´õ¿í ½ÃÄö½º ³Ñ¹ö¸¦ ¾ÈÀüÇÏ°Ô °ü¸®ÇÒ ¼ö Àֱ⠶§¹®¿¡ ¾Æ·¡¿Í °°ÀÌ

FunctionÀ» ¸¸µé¾î ó¸® ÇÑ´Ù. (Select ÈÄ ¹Ù·Î update)


CREATE FUNCTION kbsavings_get_msgno () RETURNS INT

BEGIN

 DECLARE msg_no INT;

 

 SELECT value

 INTO msg_no

 FROM kbsavings_otp

 WHERE name = CONCAT(DATE_FORMAT(NOW(), '%Y%m%d'), '_', 'msg_no');

 

 IF msg_no IS NULL THEN

 INSERT INTO kbsavings_otp (name, value)

 VALUES ( CONCAT(DATE_FORMAT(NOW(), '%Y%m%d'), '_', 'msg_no'), 1 );

    SELECT 1 INTO msg_no;

  END IF;

   

  UPDATE kbsavings_otp

  SET value = value + 1

  WHERE name = CONCAT(DATE_FORMAT(NOW(), '%Y%m%d'), '_', 'msg_no');

  

  RETURN msg_no;

END



Ãâó: http://kimyhcj.tistory.com/185 [¾ÆÀ²¾ÆºüÀÇ ½ºÅ丮]