-- MySQL dump 10.11 -- -- Host: localhost Database: OOM -- ------------------------------------------------------ -- Server version 5.5.36-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `table_to_update` -- DROP TABLE IF EXISTS `table_to_update`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `table_to_update` ( `id` int(11) NOT NULL, `calculated_with_trigger` varchar(128) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `table_to_update` -- LOCK TABLES `table_to_update` WRITE; /*!40000 ALTER TABLE `table_to_update` DISABLE KEYS */; /*!40000 ALTER TABLE `table_to_update` ENABLE KEYS */; UNLOCK TABLES; /*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/; DELIMITER ;; /*!50003 SET SESSION SQL_MODE="" */;; /*!50003 CREATE */ /*!50017 DEFINER=`sp2`@`localhost` */ /*!50003 TRIGGER `table_to_update_upd` BEFORE UPDATE ON `table_to_update` FOR EACH ROW BEGIN CALL proc_alter(NEW.id,1,@col); SET NEW.calculated_with_trigger = @col; END */;; DELIMITER ; /*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/; -- -- Table structure for table `with_trigger2` -- DROP TABLE IF EXISTS `with_trigger2`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `with_trigger2` ( `id` int(11) NOT NULL, `col` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `with_trigger2` -- LOCK TABLES `with_trigger2` WRITE; /*!40000 ALTER TABLE `with_trigger2` DISABLE KEYS */; /*!40000 ALTER TABLE `with_trigger2` ENABLE KEYS */; UNLOCK TABLES; /*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/; DELIMITER ;; /*!50003 SET SESSION SQL_MODE="" */;; /*!50003 CREATE */ /*!50017 DEFINER=`sp2`@`localhost` */ /*!50003 TRIGGER `trig_with_trigger2_upd` AFTER UPDATE ON `with_trigger2` FOR EACH ROW BEGIN CALL proc_alter(NEW.id, 0, @col); END */;; DELIMITER ; /*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/; -- -- Table structure for table `with_trigger3` -- DROP TABLE IF EXISTS `with_trigger3`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `with_trigger3` ( `id` int(11) NOT NULL, `col` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `with_trigger3` -- LOCK TABLES `with_trigger3` WRITE; /*!40000 ALTER TABLE `with_trigger3` DISABLE KEYS */; /*!40000 ALTER TABLE `with_trigger3` ENABLE KEYS */; UNLOCK TABLES; /*!50003 SET @SAVE_SQL_MODE=@@SQL_MODE*/; DELIMITER ;; /*!50003 SET SESSION SQL_MODE="" */;; /*!50003 CREATE */ /*!50017 DEFINER=`sp2`@`localhost` */ /*!50003 TRIGGER `trig_with_trigger3_upd` AFTER UPDATE ON `with_trigger3` FOR EACH ROW BEGIN CALL proc_alter(NEW.id, 0, @col); END */;; DELIMITER ; /*!50003 SET SESSION SQL_MODE=@SAVE_SQL_MODE*/; -- -- Dumping routines for database 'OOM' -- DELIMITER ;; /*!50003 DROP PROCEDURE IF EXISTS `proc_alter` */;; /*!50003 SET SESSION SQL_MODE=""*/;; /*!50003 CREATE*/ /*!50020 DEFINER=`sp2`@`localhost`*/ /*!50003 PROCEDURE `proc_alter`(p_id INT, p_noup INT, OUT v_out TEXT) BEGIN SET v_out = ''; SET v_out = (SELECT with_trigger3.col FROM with_trigger2 LEFT JOIN with_trigger3 USING(id) WHERE with_trigger2.id = p_id AND with_trigger2.col IS NOT NULL AND with_trigger2.col <> '' ); IF p_noup IS NULL THEN UPDATE table_to_update SET calculated_with_trigger = v_out WHERE id = p_id; END IF; END */;; /*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;; DELIMITER ; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2014-08-04 11:19:41