|
|
Áú¹®°ú ´äº¯ (Developer) |
> Ä¿¹Â´ÏƼ Á¸ > Áú¹®°ú ´äº¯ (Developer) |
|
|
|
|
Procedure Áú¹® µå¸³´Ï´Ù. |
|
±Û¾´ÀÌ : darkturtle ³¯Â¥ : 14-11-24 14:33 Á¶È¸¼ö : 5948 |
|
´Ù¸¥ DBMS ¸¸ »ç¿ëÇÏ´Ù À̹ø¿¡ óÀ½À¸·Î MYSQL À» »ç¿ëÇÏ°Ô µÇ¾ú½À´Ï´Ù. ÀÔ·Â °ªÀ» LIKE °Ë»ö ÇÏ¿©, ±× °á°ú¸¦ Å×ÀÌºí¿¡ ÀúÀåÇÏ´Â PROCEDURE Àε¥ ¿¡·¯·Î ¾ø°í, INSERT µµ µÇÁö ¾Ê¾Æ Áú¹® µå¸³´Ï´Ù. ¸¹Àº Á¶¾ð ºÎʵ右¤¤µð¤¿.
ÇÁ·Î½ÃÁ® Áú¹® µå¸³´Ï´Ù. ----------------------------------------------------------------- ----------------------------------------------------------------- CALL CHK_TABLES('BKG_EBL_AVC'); -- °á°ú È®ÀÎ SELECT * FROM CHK_TABLES_T -- °ª ¾øÀ½ ----------------------------------------------------------------- -- °á°ú ÀúÀå Å×À̺í
CREATE TABLE CHK_TABLES_T ( TABLE_NAME VARCHAR(30), CHK_NUM INT ) ----------------------------------------------------------------- -- ÇÁ·Î½ÃÁ® ½ºÅ©¸³Æ® -----------------------------------------------------------------
DELIMITER $$
DROP PROCEDURE IF EXISTS `dbsafer_log_2014_11`.`CHK_TABLES`$$
CREATE DEFINER=`root`@`%` PROCEDURE `CHK_TABLES`( IN TB_NAME VARCHAR(30)) BEGIN DECLARE ERR INT DEFAULT '0'; DECLARE TARGET_NUMBER INT DEFAULT '0'; DECLARE TARGET_TABLE VARCHAR(30); DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET ERR = -1 ; SET TARGET_TABLE = TB_NAME ; SET TARGET_NUMBER = ( SELECT COUNT(*) AS ALL_ROWS FROM db_qinfo WHERE UPPER(tbl_names) LIKE CONCAT('%',TB_NAME,'%') );
START TRANSACTION ; SELECT TARGET_NUMBER ; INSERT INTO CHK_TABLES_T ( TABLES_NAME, CHK_NUM ) VALUES ( TARGET_TABLE, TARGET_NUMBER) ;
IF ERR < 0 THEN ROLLBACK; ELSE COMMIT; END IF; END$$
DELIMITER ;
|
|
|
|
|
|
royster |
|
rollback ½ÇÇàµÈ °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
¾Æ·¡ ±¸¹®À¸·Î ÀÎÇÏ¿© ERR º¯¼ö°¡ 0º¸´Ù ÀÛÀ¸¹Ç·Î rollback ½ÇÇà..
SET TARGET_NUMBER = ( SELECT COUNT(*) AS ALL_ROWS FROM db_qinfo WHERE UPPER(tbl_names) LIKE CONCAT('%',TB_NAME,'%') ); |
|
|
|
|
|
|
|
|
|
|
|
|