搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友aqding 发布时间:2022-01-06
[主观题]

当一个表同时具有触发器和约束时,如何执行?

A  先约束后触发器    B先触发器后约束     C同时执行     D 冲突

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“当一个表同时具有触发器和约束时,如何执行?”相关的问题
第1题
根据实验要求和实验内容,完成下列语句 1) 将数据库stu...

根据实验要求和实验内容,完成下列语句 1) 将数据库stu的表course的cno字段定义为主键,约束名称为cno_pk; 2) 为表course中的字段cname添加唯一值约束; 3) 对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性: l 删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录; l 修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改; l 修改course表cno字段值时,该字段在sc表中的对应值也应修改; l 删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录; l 向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入; 4)定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0; 5)定义stu数据库中student表中学生年龄值在16~25范围内; 6)删除表course中字段cname的唯一值约束; 7) 为表course建立一个 INSERT触发器,当插入的新行中课程学分(ccredit)的值不是1~6时,就激活该出发器,撤销该插入操作,并使用PRINT语句返回一个错误信息。 8)为course表再创建一个UPDATE触发器,当更新了某门课程的课程号信息时,就激活该触发器级联更新sc表中相关的课程号信息,并使用PRINT语句返回一个提示信息。 9)为student表创建DELETE触发器,在删除中的一条记录的同时将sc表中的相应记录也删除。 10)创建INSTEAD OF触发器,当向sc表中插入记录时,先检查sno列上的值在student中是否存在,如果存在执行插入操作,如果不存在则提示“该学生不存在”。

点击查看答案
第2题
实验十三:触发器 一、实验目的 理解触发器的概念和作用...

实验十三:触发器 一、实验目的 理解触发器的概念和作用;了解触发器的分类及触发条件;掌握触发器的定义及应用。 二、实验原理 使用CREATE TRIGGER语句定义触发器,ALTER TRIGGER语句修改触发器,DROP TRIGGER语句删除触发器。触发器分AFTER/FOR和INSTEAD OF两种类型:AFTER/FOR类型的触发器是在相应的触发语句(insert、delete、update)执行完后被触发的。如果触发语句对应的表上有完整性约束,这些完整性约束必须不违背时,相应的触发语句才能执行,然后才能触发对应的AFTER/FOR类型的触发器。INSTEAD OF类型的触发器会在触发语句(insert、delete、update)执行之前被触发,并取代相应的触发语句。在表或视图上,每个INSERT、UPDATE或DELETE语句只能创建一个INSTEAD OF类型的触发器。SQL SERVER为每个触发器都创建了两个临时表INSERTED表和DELETED表,这两个表的逻辑结构与被触发器作用的表一样,用户可以读取这两个表的内容,但不能对它们进行修改,触发器执行完后,这两个表也会自动删除。当执行INSERT时,INSERTED表中保存要向表中插入的所有行;当执行DELETE时,DELETED表中保存要从表中删除的所有行;当执行UPDATE时,修改前的行保存在DELETED表中,修改后的行保存在INSERTED行中。 三、实验设备 安装有SQL SERVER 2012的计算机。 四、实验示例 1、写一个允许用户一次只删除一条员工记录的触发器。 create trigger tr_emp on employee for delete as declare @row_cnt int select @row_cnt=count(*) from deleted if @row_cnt>1 begin print '删除操作不允许删除多条人事表数据!!!' rollback transaction end delete from employee where sex='女' --显示'删除操作不允许删除多条人事表数据!!!' 2、创建一个触发器,只能接受女员工 create trigger employee_insert2 on employee after insert as if exists(select * from inserted where sex='男') begin print '本公司不接受男员工!' rollback transaction end else print '欢迎加入本公司!' insert employee values('E0021','林中正','男','管理','总经理','1974-10-01','1953-05-04',100000,'13879765667','上海市') --显示'本公司不接受男员工!' 3、定义一触发器,保证新添加的员工的工资不能超过5000元 create trigger employee_insert on employee after insert as if(select salary from inserted)>5000 begin print '新添加的员工的工资不能超过5000元!' rollback end 五、实验内容 l 针对bookshop数据库,完成以下操作: 1、针对employee表写一个DELETE触发器,显示删除的员工人数。 2、针对employee表写一个UPDATE触发器,限制每次工资额的变动不能超过原工资的20%。 3、定义一个触发器,保证新添加的员工的工资不能超过5000元 4、对sale_item表创建一个触发器,当插入一条销售明细记录时,如果该记录的产品数量超过5,则显示“欢迎成为本公司的VIP会员!” 5、定义一个触发器,当修改sale_item表中的销售数量或者价格时,自动更新sales表中的订单金额。 6、定义一个触发器,实现对sales表的级联删除操作。 7、定义一个触发器,实现对books表的级联删除操作。

点击查看答案
第3题
关于触发器的描述,下列说法正确的是()

A.触发器是在数据修改前被触发,约束是在数据修改后被触发

B.触发器是一个能自动执行的特殊的存储过程

C.触发器作为一个独立的对象存在,与数据库中其他对象无关

D.inserted表和deleted表是数据库中的物理表

点击查看答案
第4题
以下不属于触发器特点的是()。

A.基于一个表创建,可以针对多个表进行操作

B.被触发自动执行

C.可以带参数执行

D.可以实施更复杂的数据完整性约束

点击查看答案
第5题
触发器是用户定义的SQL事务命令的集合:当对一个表进行插入、更改、删除等操作时,这组命令(60)。A.会

触发器是用户定义的SQL事务命令的集合:当对一个表进行插入、更改、删除等操作时,这组命令(60)。

A.会保存该组操作

B.会保存操作结果

C.会自动执行

D.会提示相关信息

点击查看答案
第6题
触发器的优点有哪些()

A.在某个时间发生时自动激活而执行

B.可以实现比约束更为复杂的完整性要求

C.可根据表数据修改前后的状态

D.可以防止恶意的或错误的INSERT、UPDATE和DELETE操作

点击查看答案
第7题
下列()是对触发器的描述。

A.定义了一个有相关列和行的集合

B.当用户修改数据时,一种特殊形式的存储过程被自动执行

C.SQL语句的预编译集合

D.它根据一或多列的值,提供对数据库表的行的快速访问

点击查看答案
第8题
关于触发器,哪三句是正确的()

A.触发器是一个PL/SQL块、C或Java编写的过程,与表、视图、模式或数据库相关联。

B.当特定的事件发生时,触发器需要被显式地触发

C.当特定的事件发生时,触发器隐式地执行

D.当发生数据操纵事件(如DML事件)或系统事件(如登录数据库、关闭数据库)时,触发器被触发

点击查看答案
第9题
关于触发器叙述正确的是()

A.触发器是自动执行的,可以在一定条件下触发

B.触发器不可以同步数据库的相关表进行级联更改

C.触发器操作与约束有冲突时,触发器仍会执行

D.删除触发表时,触发器不会被随之删除

点击查看答案
第10题
你是一个真空吸尘器销售公司的数据库开发者。公司已有一个名为Sales的数据库,包含有VacuumSales表和Employee表。销售信息存储在VacuumSales表中,雇员信息存储在employee表中,在Employee表中有一位列名为IsActive.这个列表明是否有雇员被当前雇用。Employee表也有一个列为EmployeeID是毎个雇员的唯一标示符。所有的销售输入到VacuumSal

A.用微软分布式事务处理Employee表在分布式处理中如果EmployeeID没有执行则将回滚整个事务。

B.在VacuumSales表的EmployeeID列中添加一个CHECK约束。

C.在VacuumSales表的EmployeeID列中添加一个外键约束参照Employee表中的EmployeeID列。

D.在VacuumSales表中添加一个FORINSERT触发器。在触发器中,在inserted表的基础上连接Employee表和EmployeeID表,测试IsActive列。

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP