triggers_0407.inc
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· INC 代码 · 共 612 行 · 第 1/2 页
INC
612 行
################################################ Section 3.5.6 ############ Check on the Trigger Action Time ######################################let $message= Testcase 3.5.6:;--source include/show_msg.inc connection default; use test;#Section 3.5.6.1# Test case: Ensure that a trigger definition can specify a trigger action time of BEFORE. # See section 3.5.1.1let $message= Testcase 3.5.6.1 (see Testcase 3.5.1.1);--source include/show_msg.inc#Section 3.5.6.2# Test case: Ensure that a trigger definition can specify a trigger action time of AFTER.# See section 3.5.1.1let $message= Testcase 3.5.6.2 (see Testcase 3.5.1.1);--source include/show_msg.inc#Section 3.5.6.3# Test case: Ensure that a trigger definition that specifies a trigger action # time that is not either BEFORE or AFTER fails, with an appropriate # error message, at CREATE TRIGGER time.let $message= Testcase 3.5.6.3:;--source include/show_msg.inc --error 1064 Create trigger trg3_1 DURING UPDATE on tb3 for each row set new.f132=25; --error 1064 Create trigger trg3_2 TIME INSERT on tb3 for each row set new.f132=15;#Cleanup # OBN - Although none of the above should have been created we should do a cleanup# since if they have been created, not dropping them will affect following# tests. --disable_warnings --error 0, 1360 drop trigger tb3.trg3_1; --error 0, 1360 drop trigger tb3.trg3_2; --enable_warnings#Section 3.5.6.4# Test case: Ensure that a trigger defined with a trigger action time of BEFORE # always executes its triggered action immediately before the trigger event. # See section 3.5.1.1let $message= Testcase 3.5.6.4 (see Testcase 3.5.1.1);--source include/show_msg.inc#Section 3.5.6.5# Test case: Ensure that a trigger defined with a trigger action time of AFTER # always executes its triggered action immediately after the trigger event.let $message= Testcase 3.5.6.5 (see Testcase 3.5.1.1);--source include/show_msg.inc#################################### Section 3.5.7 ######## Check on Trigger Event ###############################Section 3.5.7.1#Test case: Ensure that a trigger definition can specify a trigger event of INSERT.let $message= Testcase 3.5.7.1 (see Testcase 3.5.1.1);--source include/show_msg.inc #Section 3.5.7.2# Test case: Ensure that a trigger definition can specify a trigger event of UPDATE.let $message= Testcase 3.5.7.2 (see Testcase 3.5.1.1);--source include/show_msg.inc#Section 3.5.7.3# Test case: Ensure that a trigger definition can specify a trigger event of DELETE.let $message= Testcase 3.5.7.3 (see Testcase 3.5.1.1);--source include/show_msg.inc#Section 3.5.7.4# Test case: Ensure that a trigger definition that specifies a trigger event that # is not either INSERT, UPDATE or DELETE fails, with an appropriate error # message, at CREATE TRIGGER time.let $message= Testcase 3.5.7.4:;--source include/show_msg.inc --error 1064 Create trigger trg4_1 BEFORE SELECT on tb3 for each row set new.f132=5; --error 1064 Create trigger trg4_2 AFTER VALUE on tb3 for each row set new.f132=1;#Cleanup # OBN - Although none of the above should have been created we should do a cleanup# since if they have been created, not dropping them will affect following# tests. --disable_warnings --error 0, 1360 drop trigger tb3.trg4_1; --error 0, 1360 drop trigger tb3.trg4_2; --enable_warnings#Section 3.5.7.5 / 3.5.7.6 # Test case: Ensure that it is not possible to create multiple BEFORE INSERT triggers # on the same table, even if the triggers have different names / different# triggered actions.let $message= Testcase 3.5.7.5 / 3.5.7.6:;--source include/show_msg.inc Create trigger trg5_1 BEFORE INSERT on tb3 for each row set new.f122='Trigger1 3.5.7.5/6'; --error ER_NOT_SUPPORTED_YET Create trigger trg5_2 BEFORE INSERT on tb3 for each row set new.f122='Trigger2 3.5.7.5'; Insert into tb3 (f121,f122) values ('Test 3.5.7.5/6','Insert 3.5.7.5'); Select f121,f122 from tb3 where f121='Test 3.5.7.5/6'; update tb3 set f122='Update 3.5.7.6' where f121= 'Test 3.5.7.5/6'; Select f121,f122 from tb3 where f121='Test 3.5.7.5/6';#Cleanup --disable_warnings drop trigger trg5_1; --error 0, 1360 drop trigger trg5_2; delete from tb3 where f121='Test 3.5.7.5/6'; --enable_warnings#Section 3.5.7.7 / 3.5.7.8 # Test case: Ensure that it is not possible to create multiple AFTER INSERT triggers # on the same table, even if the triggers have different names / different# triggered actions.let $message= Testcase 3.5.7.7 / 3.5.7.8:;--source include/show_msg.inc set @test_var='Before trig 3.5.7.7'; Create trigger trg6_1 AFTER INSERT on tb3 for each row set @test_var='Trigger1 3.5.7.7/8'; --error ER_NOT_SUPPORTED_YET Create trigger trg6_2 AFTER INSERT on tb3 for each row set @test_var='Trigger2 3.5.7.7'; select @test_var; Insert into tb3 (f121,f122) values ('Test 3.5.7.7/8','Insert 3.5.7.7'); Select f121,f122 from tb3 where f121='Test 3.5.7.7/8'; select @test_var; update tb3 set f122='Update 3.5.7.8' where f121= 'Test 3.5.7.7/8'; Select f121,f122 from tb3 where f121='Test 3.5.7.7/8'; select @test_var;#Cleanup --disable_warnings drop trigger trg6_1; --error 0, 1360 drop trigger trg6_2; delete from tb3 where f121='Test 3.5.7.7/8'; --enable_warnings#Section 3.5.7.9 / 3.5.7.10# Test case: Ensure that it is not possible to create multiple BEFORE UPDATE triggers # on the same table, even if the triggers have different names / different # triggered actions.let $message= Testcase 3.5.7.9/10:;--source include/show_msg.inc Create trigger trg7_1 BEFORE UPDATE on tb3 for each row set new.f122='Trigger1 3.5.7.9/10'; --error ER_NOT_SUPPORTED_YET Create trigger trg7_2 BEFORE UPDATE on tb3 for each row set new.f122='Trigger2 3.5.7.9'; Insert into tb3 (f121,f122) values ('Test 3.5.7.9/10','Insert 3.5.7.9'); Select f121,f122 from tb3 where f121='Test 3.5.7.9/10'; update tb3 set f122='update 3.5.7.10' where f121='Test 3.5.7.9/10'; Select f121,f122 from tb3 where f121='Test 3.5.7.9/10';#Cleanup --disable_warnings drop trigger trg7_1; --error 0, 1360 drop trigger trg7_2; delete from tb3 where f121='Test 3.5.7.9/10'; #Section 3.5.7.11 / 3.5.7.12# Test case: Ensure that it is not possible to create multiple AFTER UPDATE triggers # on the same table, even if the triggers have different names / different# triggered actions. let $message= Testcase 3.5.7.11/12:;--source include/show_msg.inc set @test_var='Before trig 3.5.7.11'; Create trigger trg8_1 AFTER UPDATE on tb3 for each row set @test_var='Trigger 3.5.7.11/12'; --error ER_NOT_SUPPORTED_YET Create trigger trg8_2 AFTER UPDATE on tb3 for each row set @test_var='Trigger2 3.5.7.11'; select @test_var; Insert into tb3 (f121,f122) values ('Test 3.5.7.11/12','Insert 3.5.7.11/12'); select @test_var; Select f121,f122 from tb3 where f121='Test 3.5.7.11/12'; update tb3 set f122='update 3.5.7.12' where f121='Test 3.5.7.11/12'; Select f121,f122 from tb3 where f121='Test 3.5.7.11/12'; select @test_var; delete from tb3 where f121='Test 3.5.7.11/12';#Cleanup --disable_warnings drop trigger trg8_1; --error 0, 1360 drop trigger trg8_2; delete from tb3 where f121='Test 3.5.7.11/12'; #Section 3.5.7.13 / 3.5.7.14# Test case: Ensure that it is not possible to create multiple BEFORE DELETE triggers # on the same table, even if the triggers have different names / different# triggered actions.let $message= Testcase 3.5.7.13/14:;--source include/show_msg.inc set @test_var=1; Create trigger trg9_1 BEFORE DELETE on tb3 for each row set @test_var=@test_var+1; --error ER_NOT_SUPPORTED_YET Create trigger trg9_2 BEFORE DELETE on tb3 for each row set @test_var=@test_var+10; select @test_var; Insert into tb3 (f121,f122) values ('Test 3.5.7.13/14','Insert 3.5.7.13'); Select f121,f122 from tb3 where f121='Test 3.5.7.13/14'; select @test_var; delete from tb3 where f121='Test 3.5.7.13/14'; Select f121,f122 from tb3 where f121='Test 3.5.7.13/14'; select @test_var; delete from tb3 where f121='Test 3.5.7.13/14'; select @test_var;#Cleanup --disable_warnings drop trigger trg9_1; --error 0, 1360 drop trigger trg9_2; delete from tb3 where f121='Test 3.5.7.13/14'; #Section 3.5.7.15 / 3.5.7.16# Test case: Ensure that it is not possible to create multiple AFTER DELETE triggers # on the same table, even if the triggers have different names / different # triggered actions.let $message= Testcase 3.5.7.15/16:;--source include/show_msg.inc set @test_var=1; Create trigger trg_3_406010_1 AFTER DELETE on tb3 for each row set @test_var=@test_var+5; --error ER_NOT_SUPPORTED_YET Create trigger trg_3_406010_2 AFTER DELETE on tb3 for each row set @test_var=@test_var+50; --error 1359 Create trigger trg_3_406010_1 AFTER INSERT on tb3 for each row set @test_var=@test_var+1; select @test_var; Insert into tb3 (f121,f122) values ('Test 3.5.7.15/16','Insert 3.5.7.15/16'); Select f121,f122 from tb3 where f121='Test 3.5.7.15/16'; select @test_var; delete from tb3 where f121='Test 3.5.7.15/16'; Select f121,f122 from tb3 where f121='Test 3.5.7.15/16'; select @test_var; delete from tb3 where f121='Test 3.5.7.15/16'; select @test_var;#Cleanup --disable_warnings drop trigger trg_3_406010_1; --error 0, 1360 drop trigger trg_3_406010_2; delete from tb3 where f121='Test 3.5.7.15/16'; --enable_warnings#Section 3.5.7.17# Test case: Ensure that it is possible to have a BEFORE INSERT, an AFTER INSERT, # a BEFORE UPDATE, an AFTER UPDATE, a BEFORE DELETE, and an AFTER DELETE # trigger on the same table; that is, ensure that every persistent base # table may be the subject table for exactly six triggerslet $message= Testcase 3.5.7.17 (see Testcase 3.5.1.1);--source include/show_msg.inc# Cleanup section 3.5 connection default; drop user test_general@localhost; drop user test_general; drop user test_super@localhost;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?