📄 memory_trig_08.result
字号:
set @test_var='Empty', @test_var2=0;Insert into tb3 (f120, f122, f136) values ('1', 'Test 3.5.8.5-if', 101);select f120, f122, f136, @test_var, @test_var2 from tb3 where f122 = 'Test 3.5.8.5-if';f120 f122 f136 @test_var @test_var2D Test 3.5.8.5-if 00101 one 2nd elseInsert into tb3 (f120, f122, f136) values ('2', 'Test 3.5.8.5-if', 102);select f120, f122, f136, @test_var, @test_var2 from tb3 where f122 = 'Test 3.5.8.5-if';f120 f122 f136 @test_var @test_var2D Test 3.5.8.5-if 00101 two 2nd elseD Test 3.5.8.5-if 00102 two 2nd elseInsert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 10);select f120, f122, f136, @test_var, @test_var2 from tb3 where f122 = 'Test 3.5.8.5-if';f120 f122 f136 @test_var @test_var2D Test 3.5.8.5-if 00101 three 2nd ifD Test 3.5.8.5-if 00102 three 2nd ifd Test 3.5.8.5-if 00010 three 2nd ifInsert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 103);select f120, f122, f136, @test_var, @test_var2 from tb3 where f122 = 'Test 3.5.8.5-if';f120 f122 f136 @test_var @test_var2D Test 3.5.8.5-if 00101 three 2nd elseD Test 3.5.8.5-if 00102 three 2nd elsed Test 3.5.8.5-if 00010 three 2nd elseD Test 3.5.8.5-if 00103 three 2nd elsecreate trigger trg3 before update on tb3 for each rowBEGINELSEIF new.f120='2' thenEND IF;END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSEIF new.f120='2' thenEND IF;END' at line 3drop trigger trg3//create trigger trg4 before update on tb3 for each rowBEGINIF (new.f120='4') and (new.f136=10) thenset @test_var2='2nd if', new.f120='d';ELSE set @test_var2='2nd else', new.f120='D';END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7drop trigger trg4;drop trigger trg2;delete from tb3 where f121='Test 3.5.8.5-if';Testcase 3.5.8.5-case:----------------------create trigger trg3 before insert on tb3 for each rowBEGINSET new.f120=char(ascii(new.f120)-32);CASEwhen new.f136<100 then set new.f136=new.f136+120;when new.f136<10 then set new.f144=777;when new.f136>100 then set new.f120=new.f136-1;END case;CASEwhen new.f136=200 then set @test_var=CONCAT(new.f120, '=');ELSE set @test_var=concat(new.f120, '*');END case;CASE new.f144when 1 then set @test_var=concat(@test_var, 'one');when 2 then set @test_var=concat(@test_var, 'two');when 3 then set @test_var=concat(@test_var, 'three');when 4 then set @test_var=concat(@test_var, 'four');when 5 then set @test_var=concat(@test_var, 'five');when 6 then set @test_var=concat(@test_var, 'six');when 7 then set @test_var=concat(@test_var, 'seven');when 8 then set @test_var=concat(@test_var, 'eight');when 9 then set @test_var=concat(@test_var, 'nine');when 10 then set @test_var=concat(@test_var, 'ten');when 11 then set @test_var=concat(@test_var, 'eleven');when 12 then set @test_var=concat(@test_var, 'twelve');when 13 then set @test_var=concat(@test_var, 'thirteen');when 14 then set @test_var=concat(@test_var, 'fourteen');when 15 then set @test_var=concat(@test_var, 'fifteen');ELSE set @test_var=CONCAT(new.f120, '*', new.f144);END case;END//set @test_var='Empty';Insert into tb3 (f120, f122, f136, f144) values ('a', 'Test 3.5.8.5-case', 5, 7);select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 A*sevenInsert into tb3 (f120, f122, f136, f144) values ('b', 'Test 3.5.8.5-case', 71,16);select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 B*0000000016B Test 3.5.8.5-case 00191 0000000016 B*0000000016Insert into tb3 (f120, f122, f136, f144) values ('c', 'Test 3.5.8.5-case', 80,1);select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 C=oneB Test 3.5.8.5-case 00191 0000000016 C=oneC Test 3.5.8.5-case 00200 0000000001 C=oneInsert into tb3 (f120, f122, f136) values ('d', 'Test 3.5.8.5-case', 152);Warnings:Warning 1265 Data truncated for column 'f120' at row 1select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 1*0000099999B Test 3.5.8.5-case 00191 0000000016 1*0000099999C Test 3.5.8.5-case 00200 0000000001 1*00000999991 Test 3.5.8.5-case 00152 0000099999 1*0000099999Insert into tb3 (f120, f122, f136, f144) values ('e', 'Test 3.5.8.5-case', 200, 8);Warnings:Warning 1265 Data truncated for column 'f120' at row 1select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 1=eightB Test 3.5.8.5-case 00191 0000000016 1=eightC Test 3.5.8.5-case 00200 0000000001 1=eight1 Test 3.5.8.5-case 00152 0000099999 1=eight1 Test 3.5.8.5-case 00200 0000000008 1=eightInsert into tb3 (f120, f122, f136, f144) values ('f', 'Test 3.5.8.5-case', 100, 8);select f120, f122, f136, f144, @test_var from tb3 where f122 = 'Test 3.5.8.5-case';f120 f122 f136 f144 @test_varA Test 3.5.8.5-case 00125 0000000007 1=eightB Test 3.5.8.5-case 00191 0000000016 1=eightC Test 3.5.8.5-case 00200 0000000001 1=eight1 Test 3.5.8.5-case 00152 0000099999 1=eight1 Test 3.5.8.5-case 00200 0000000008 1=eightcreate trigger trg3a before update on tb3 for each rowBEGINCASEwhen new.f136<100 then set new.f120='p';END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5drop trigger trg3a;drop trigger trg3;delete from tb3 where f121='Test 3.5.8.5-case';Testcase 3.5.8.5-loop/leave:----------------------------Create trigger trg4 after insert on tb3 for each rowBEGIN set @counter=0, @flag='Initial';Label1: loop if new.f136<new.f144 thenset @counter='Nothing to loop';leave Label1; elseset @counter=@counter+1;if new.f136=new.f144+@counter thenset @counter=concat(@counter, ' loops');leave Label1;end if; end if; iterate label1; set @flag='Final';END loop Label1; END//Insert into tb3 (f122, f136, f144) values ('Test 3.5.8.5-loop', 2, 8);select @counter, @flag;@counter @flagNothing to loop InitialInsert into tb3 (f122, f136, f144) values ('Test 3.5.8.5-loop', 11, 8);select @counter, @flag;@counter @flag3 loops InitialCreate trigger trg4_2 after update on tb3 for each rowBEGIN Label1: loop set @counter=@counter+1;END; END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; END' at line 5drop trigger trg4_2;drop trigger trg4;delete from tb3 where f122='Test 3.5.8.5-loop';Testcase 3.5.8.5-repeat:------------------------Create trigger trg6 after insert on tb3 for each rowBEGINrp_label: REPEAT SET @counter1 = @counter1 + 1; IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label; END IF;SET @counter2 = @counter2 + 1; UNTIL @counter1> new.f136 END REPEAT rp_label;END//set @counter1= 0, @counter2= 0;Insert into tb3 (f122, f136) values ('Test 3.5.8.5-repeat', 13);select @counter1, @counter2;@counter1 @counter215 8Create trigger trg6_2 after update on tb3 for each rowBEGINREPEAT SET @counter2 = @counter2 + 1; END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 5drop trigger trg6;delete from tb3 where f122='Test 3.5.8.5-repeat';Testcase 3.5.8.5-while:-----------------------Create trigger trg7 after insert on tb3 for each rowwl_label: WHILE @counter1 < new.f136 DO SET @counter1 = @counter1 + 1; IF (@counter1 MOD 2 = 0) THEN ITERATE wl_label; END IF;SET @counter2 = @counter2 + 1; END WHILE wl_label//set @counter1= 0, @counter2= 0;Insert into tb3 (f122, f136) values ('Test 3.5.8.5-while', 7);select @counter1, @counter2;@counter1 @counter27 4Create trigger trg7_2 after update on tb3 for each rowBEGINWHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END//ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; END' at line 4delete from tb3 where f122='Test 3.5.8.5-while';drop trigger trg7;Testcase 3.5.8.6: (requirement void)------------------------------------Testcase 3.5.8.7: (Disabled as a result of bug _____)-----------------------------------------------------drop user test_general@localhost;drop user test_general;drop user test_super@localhost;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -