SQL中的相关表的同时删除
来源:互联网 发布:罗马全面战争 for mac 编辑:程序博客网 时间:2024/05/17 06:20
在敲机房收费系统的时候,就遇到一个问题,大概意思如下所示:
就是在我们注销用户的时候,同时需要把所有的有关用户的信息同时的删除。这时候就有三个办法可以解决。
在vb中,可以找出要删除的相关的信息后,同时删除两次。
Dim mrc As ADODB.Recordset Dim txtsql As String txtsql = "delete * from information where idcard='" & Trim(txtidcard.Text) & "'"
就是多次删除有关的用户的信息。
在SQL中也可以采取触发器来删除相关的用户的信息。
create trigger [dbo].[trdelstudent_information]on [dbo].[student_information]for delete as delete online from deleted wheredeleted.idcard=online.idcard
通过触发器的删除事件,来触发相应的表的字段的删除。
在SQL中也可以通过事务来执行相关的操作。
SQL中的事务就是为了解决当使用删除或者更新命令对数据库进行更新的时候,一次
只能操作一个表,解决带来数据的不一致的问题,就如上面问题所示。解决办法如下:
begin transaction @transaction_delete
godelete from userinformation where dept_id = ’101’godelete from online where dept_id = ’101’gocommit transaction my_transaction_deletego
上面的整个语句作为一个事务来处理,就是作为一个整体来处理,同时删除了相关表
中的无用的信息。
通过比较三种办法,第一种办法比较的麻烦,尤其在VB里面需要建立不同的连接来删除,当设计到表比较多的时候,操作极其麻烦。相比较事务和触发器来说,操作相对简单。与check约束相比,触发器可以强制实现更加复杂的数据完整性,而且可以参考其他表的字段。
- SQL中的相关表的同时删除
- 在sql的存储过程里,如何用一个Delete语句同时删除两个表中的数据
- sql同时删除多个表的数据
- 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
- SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
- sql删除表中的记录的方法
- sql删除表中的记录的方法
- sql删除表中的记录的方法
- SQL删除表中的指定的列
- SQL的删除语句delete(删除表中的数据)
- sql server 同时删除一个数据库所有表名以p开头的表
- 同时删除SQL server 2008中 表名类似的多个表
- Sql Server2000,Sql Server2005中的表结构的相关信息
- 求教:sql 语句怎么 同时删除三个表
- SQL删除语句同时向备份表插入数据
- sql 增加键约束 删除主记录在其他表中的相关记录
- mysql 查询表同时删除该表中的数据
- ORACLE中触发器实现删除一张表中数据同时删除另一表中相关数据
- memcached-session-manager配置
- 静态成员函数引用非静态成员
- UVa 357: Let Me Count The Ways
- C# 获取当前应用程序所在的根路径
- Ehcache 整合Spring 使用页面、对象缓存
- SQL中的相关表的同时删除
- C语言学习笔记6
- 【实用技术】“位于XDB的服务器localhost要求用户名和密码”解决办法
- OpenGL进阶(十六) - GLSL纹理(Texture)
- jsp代码页面窗口固定最大化
- 蛇形填数
- apache ftpClient 文件上传
- android、ios与服务器端php使用rsa加密解密通讯
- 导入安卓工程时出现红色叹号的几种解决办法。