delimiter $$ SET TRANSACTION ISOLATION LEVEL READ COMMITTED$$ SET FOREIGN_KEY_CHECKS=0$$ DROP TABLE IF EXISTS `t2`$$ CREATE TABLE `t2` (`c1` INT NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ DROP TABLE IF EXISTS `t1`$$ CREATE TABLE `t1` (`c1` INT AUTO_INCREMENT NOT NULL,`c2` varchar(8) NOT NULL,`c4` varchar(2) NOT NULL,`c3` int(11) NOT NULL,`c5` int(11) NOT NULL,`c6` varchar(15) NOT NULL,`c7` decimal(16,3) NOT NULL default '0.000',`c8` varchar(40) default NULL,`c9` datetime default NULL,`c10` varchar(40) default NULL,`c11` datetime default NULL,`c12` decimal(16,3) default NULL,PRIMARY KEY (`c1`),UNIQUE KEY `idx_bill_c7_emp_code_from` (`c2`,`c4`,`c3`),KEY `idx_bill_c7_emp` (`c2`),KEY `idx_bill_c7_from` (`c3`)) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ DROP PROCEDURE IF EXISTS `p1`$$ CREATE PROCEDURE `p1`()BEGIN DECLARE done INT DEFAULT 0; declare vc2 varchar(8); declare vc3 numeric(6); declare vc5 numeric(6); declare cur1 cursor for select `c2`,`c3`,c5 from `t1`; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; open cur1; repeat fetch cur1 into vc2,vc3,vc5; update `t1` set c5 = vc5 + 1 where `c2` = vc2 and `c3` = vc3; until done end repeat; close cur1; END$$ CREATE TRIGGER `trig1` BEFORE UPDATE ON `t1` FOR EACH ROW BEGIN declare ab INT; set ab = (select c1 from `t2` limit 1); END$$ delimiter ; INSERT INTO `t1` (`c1`, `c2`, `c4`, `c3`, `c5`, `c6`, `c7`, `c8`, `c9`, `c10`, `c11`, `c12`) VALUES (18391,'00399010','03',199901,210001,'PRB TEXAS 1999','0.000',NULL,'2006-07-13 01:33:22',NULL,'2006-07-18 20:39:27','-1.000'); INSERT INTO `t1` (`c1`, `c2`, `c4`, `c3`, `c5`, `c6`, `c7`, `c8`, `c9`, `c10`, `c11`, `c12`) VALUES (18392,'00457180','01',199901,199912,'STANDARD','95.000',NULL,'2006-07-13 01:33:22',NULL,'2006-07-18 20:39:27','95.000'); INSERT INTO `t1` (`c1`, `c2`, `c4`, `c3`, `c5`, `c6`, `c7`, `c8`, `c9`, `c10`, `c11`, `c12`) VALUES (18393,'00457180','02',199901,199912,'R&D','76.000',NULL,'2006-07-13 01:33:23',NULL,'2006-07-18 20:39:27','76.000'); INSERT INTO `t1` (`c1`, `c2`, `c4`, `c3`, `c5`, `c6`, `c7`, `c8`, `c9`, `c10`, `c11`, `c12`) VALUES (18394,'00457190','01',199901,210001,'BILLABLE','120.000',NULL,'2006-07-13 01:33:23',NULL,'2006-07-18 20:39:28','120.000'); INSERT INTO `t1` (`c1`, `c2`, `c4`, `c3`, `c5`, `c6`, `c7`, `c8`, `c9`, `c10`, `c11`, `c12`) VALUES (18395,'00457190','02',199901,210001,'R&D','96.000',NULL,'2006-07-13 01:33:23',NULL,'2006-07-18 20:39:28','96.000'); call p1();