数据库教程:SQL中的相关表的同时删除

sql中的相关表的同时删除      在敲机房收费的时候,就遇到一个问题,大概意思如下所示:      

sql中的相关表的同时删除

 

   在敲机房收费的时候,就遇到一个问题,大概意思如下所示:

     

SQL中的相关表的同时删除
SQL中的相关表的同时删除

  

   就是在我们注销用户的时候,同时需要把所有的有关用户的信息同时的删除。这时候就有三个办法可以解决。

 

    在vb中,可以找出要删除的相关的信息后,同时删除两次。

 

  dim mrc as adodb.recordset        dim txtsql as string        txtsql = "delete * from information where idcard='" & trim(txtidcard.text) & "'"

 

     

    就是多次删除有关的用户的信息。

 

     在sql中也可以采取触发器来删除相关的用户的信息。

        [sql]   create trigger [dbo].[trdelstudent_information]    on [dbo].[student_information]    for delete as     delete online from deleted where    deleted.idcard=online.idcard  

 

     通过触发器的删除事件,来触发相应的表的字段的删除。

 

     在sql中也可以通过事务来执行相关的操作。

    

   sql中的事务就是为了解决当使用删除或者更新命令对进行更新的时候,一次

  只能操作一个表,解决带来数据的不一致的问题,就如上面问题所示。解决办法如下:

  [sql]   begin transaction @transaction_delete    [sql]   go    delete from userinformation where dept_id = ’101’    go    delete from online where dept_id = ’101’    go    commit transaction my_transaction_delete    go  

 

   上面的整个语句作为一个事务来处理,就是作为一个整体来处理,同时删除了相关表

中的无用的信息。

   

   通过比较三种办法,第一种办法比较的麻烦,尤其在vb里面需要建立不同的连接来删除,当设计到表比较多的时候,操作极其麻烦。相比较事务和触发器来说,操作相对简单。与check约束相比,触发器可以强制实现更加复杂的数据完整性,而且可以参考其他表的字段。

需要了解更多数据库技术:SQL中的相关表的同时删除,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/626026.html

(0)
上一篇 2021年5月25日
下一篇 2021年5月25日

精彩推荐