MySQL触发器的应用与管理试题及答案
姓名:____________________
一、单项选择题(每题2分,共10题)
1.触发器是一种特殊的存储过程,以下关于触发器的描述中,错误的是:
A.触发器可以由数据库事件自动触发执行
B.触发器可以用来实现复杂的业务逻辑
C.触发器可以修改触发它的SQL语句
D.触发器可以在多个表中使用
2.以下关于触发器类型,说法正确的是:
A.触发器只能是INSERT、UPDATE或DELETE之一
B.触发器可以是BEFORE或AFTER两种类型
C.触发器可以同时定义在INSERT、UPDATE和DELETE事件上
D.触发器可以修改触发它的SQL语句
3.在以下哪个事件中不能使用触发器?
A.INSERT
B.UPDATE
C.DELETE
D.SELECT
4.以下哪个SQL语句可以创建一个名为“my_trigger”的触发器,在向“users”表中插入新记录时执行?
A.CREATETRIGGERmy_triggerFORINSERTONusers
B.CREATETRIGGERmy_triggerBEFOREINSERTONusers
C.CREATETRIGGERmy_triggerAFTERINSERTONusers
D.CREATETRIGGERmy_triggerFORINSERTusers
5.以下哪个语句可以删除名为“my_trigger”的触发器?
A.DROPTRIGGERmy_trigger
B.DROPTRIGGERusers.my_trigger
C.DROPTRIGGERONusers.my_trigger
D.DROPTRIGGERFROMusers.my_trigger
6.以下哪个函数可以用来获取当前的时间?
A.CURRENT_TIME()
B.NOW()
C.CURTIME()
D.GETDATE()
7.以下关于触发器中变量使用,说法正确的是:
A.触发器中不能使用局部变量
B.触发器中可以使用用户定义的变量
C.触发器中可以使用数据库中的全局变量
D.触发器中不能使用系统变量
8.在触发器中,以下哪个语句可以用来更新“users”表中的记录?
A.UPDATEusersSETusername=new_username
B.UPDATEusersSETusername=NEW.username
C.UPDATEusersSETusername=OLD.username
D.UPDATEusers.username=new_username
9.以下哪个SQL语句可以创建一个名为“my_trigger”的触发器,在更新“users”表中的记录时执行,并在触发器中设置一个条件:如果更新后的用户名长度大于5,则更新失败?
A.CREATETRIGGERmy_triggerFORUPDATEONusers
B.CREATETRIGGERmy_triggerBEFOREUPDATEONusers
C.CREATETRIGGERmy_triggerAFTERUPDATEONusers
D.CREATETRIGGERmy_triggerFORUPDATEusers
10.以下哪个语句可以查询名为“my_trigger”的触发器定义?
A.SELECTTRIGGERmy_trigger
B.SELECTTRIGGERFROMmy_trigger
C.SELECTFROMTRIGGERmy_trigger
D.SELECTFROMTRIGGERWHEREname=my_trigger
答案:
1.C
2.B
3.D
4.C
5.A
6.B
7.B
8.C
9.B
10.A
二、多项选择题(每题3分,共10题)
1.触发器在MySQL数据库中具有以下哪些作用?
A.实现复杂的业务逻辑
B.自动维护数据完整性
C.实现数据同步
D.替代存储过程
2.触发器可以定义在以下哪些表事件上?
A.INSERT
B.UPDATE
C.DELETE
D.SELECT
3.在触发器中,以下哪些语句可以用来获取当前记录的旧值?
A.OLD
B.NEW
C.CURRENT_TIMESTAMP
D.CURRENT_DATE
4.以下哪些是触发器中常用的系统变量?
A.@user
B.@@session_id
C.@@now
D.@@trigger_row