事务怎么实现级联删除\修改\插入 事务怎么实现级联删除\修改\插入我现在一个大的类别,还一个小的类别,怎么用事务实现实现级联删除\修改\插入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能的,你可以采用instead of触发器,这样在判断原有约束之前,先执行触发器,完成更新之后才判断约束;或者你使用约束级联 我的意思是说,如果在你事务里如果有需要回滚的时候,你得考虑触发器是否成功执行,因此你需要在触发器里添加或者不添加 rollback transaction 比如你前台要更新一个部门ID:研发2部。为研发3部该部门下已经有员工了,并且引用了“研发2部”这个ID外键级联更新和触发器的原理:当你更新部门表时,update 部门表 set 部门id='研发3部' where 部门id='研发2部' 会自动更新员工表,这些语句你看不到,但实际执行了更新员工表的代码事务没有这样的功能。只能保证你更新部门表这个动作是完成,还是回滚update 部门表 set 部门id='研发3部' where 部门id='研发2部' 事务就是一组T-SQL语句组,遵循的是ACID就原子性,一致性,隔离性以及持久性,是站在更高的层面来看待数据,而数据之间的关系约束需要的是实体完整性和参考完整性来保证,而触发器也需要遵守约束的规则,当然先进行触发器在考虑约束,还是先考虑约束再考虑触发器,区分了instead of触发器和一般的触发器。总的来说,事务在保证约束以及触发器定义的约束的基础上来实现ACID法则,因此,你的问题还是得在触发器和约束中去寻找答案 解决级联的办法有这样一些,至少我能想到的:1. 建立对象之间的外键约束关系,利用SQL Server自带的约束级联关键词来操作。2. 如果不建立约束,那么可以使用一般的DML触发器来实现级联。3. 如果已经在建立了约束的基础上,又不是用约束级联的关键词,那么可以使用instead of型的DML触发器来实现。4. 事务中也可以做但效率不高 看看这个问题怎么用一个SQL解决 问下~~~货品的扩展属性如何实现 列转行问题,把一行分割成多行 如在搞不清楚如何管理状态 【求助】分类查询统计 关于数据库查询的问题 ODBC数据源配置 能把SQL Server数据备份到优盘随身用吗? unicode ,procedure, @變量問題 这个问题可能简单了些,可是我急于知道答案!赠分 求一条SQL语句 求触发器实现2个表的记录联动更新、删除操作。
该部门下已经有员工了,并且引用了“研发2部”这个ID外键级联更新和触发器的原理:
当你更新部门表时,update 部门表 set 部门id='研发3部' where 部门id='研发2部'
会自动更新员工表,这些语句你看不到,但实际执行了更新员工表的代码事务没有这样的功能。
只能保证你更新部门表这个动作是完成,还是回滚
update 部门表 set 部门id='研发3部' where 部门id='研发2部'
1. 建立对象之间的外键约束关系,利用SQL Server自带的约束级联关键词来操作。
2. 如果不建立约束,那么可以使用一般的DML触发器来实现级联。
3. 如果已经在建立了约束的基础上,又不是用约束级联的关键词,那么可以使用instead of型的DML触发器来实现。
4. 事务中也可以做但效率不高