📄 rpl_row_sp005.result
字号:
stop slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;reset master;reset slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;start slave;DROP PROCEDURE IF EXISTS test.p1;DROP PROCEDURE IF EXISTS test.p2;DROP TABLE IF EXISTS test.t2;DROP TABLE IF EXISTS test.t1;DROP TABLE IF EXISTS test.t3;CREATE TABLE IF NOT EXISTS test.t1(id INT, data CHAR(16),PRIMARY KEY(id));CREATE TABLE IF NOT EXISTS test.t2(id2 INT,PRIMARY KEY(id2));CREATE TABLE IF NOT EXISTS test.t3(id3 INT,PRIMARY KEY(id3), c CHAR(16));CREATE PROCEDURE test.p1()BEGINDECLARE done INT DEFAULT 0;DECLARE spa CHAR(16);DECLARE spb,spc INT;DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;DECLARE cur2 CURSOR FOR SELECT id2 FROM test.t2;DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;OPEN cur1;OPEN cur2;REPEATFETCH cur1 INTO spb, spa;FETCH cur2 INTO spc;IF NOT done THENIF spb < spc THENINSERT INTO test.t3 VALUES (spb,spa);ELSEINSERT INTO test.t3 VALUES (spc,spa);END IF;END IF;UNTIL done END REPEAT;CLOSE cur1;CLOSE cur2;END|CREATE PROCEDURE test.p2()BEGININSERT INTO test.t1 VALUES (4,'MySQL'),(20,'ROCKS'),(11,'Texas'),(10,'kyle');INSERT INTO test.t2 VALUES (4),(2),(1),(3);UPDATE test.t1 SET id=id+4 WHERE id=4;END|< ---- Master selects-- >-------------------------CALL test.p2();SELECT * FROM test.t1;id data8 MySQL20 ROCKS11 Texas10 kyleSELECT * FROM test.t2;id21234< ---- Slave selects-- >------------------------SELECT * FROM test.t1;id data8 MySQL20 ROCKS11 Texas10 kyleSELECT * FROM test.t2;id21234< ---- Master selects-- >-------------------------CALL test.p1();SELECT * FROM test.t3;id3 c1 MySQL2 ROCKS3 Texas4 kyle< ---- Slave selects-- >------------------------SELECT * FROM test.t3;id3 c1 MySQL2 ROCKS3 Texas4 kyleALTER PROCEDURE test.p1 MODIFIES SQL DATA;DROP PROCEDURE IF EXISTS test.p1;DROP PROCEDURE IF EXISTS test.p2;DROP TABLE IF EXISTS test.t1;DROP TABLE IF EXISTS test.t2;DROP TABLE IF EXISTS test.t3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -