每日最新情感日志速递平台 第一时间了解互联网的新鲜句子。

通过多次数据库操作完成如上的要求

发布时间:2019-05-25 01:26 类别:数据库

  在项目开辟中,经常呈现如许的需求。在新增或点窜一个主表数据时,对应的从表也要进行同步,此时我们是怎样操作的了?典型的方式就是对于主表的各数据字段进行更新或新增,对于从表一般城市先删除相关的所有记实,然后再进行插入。也就是说每次保留时,从表的数据都要从头施行一遍删除再插入的过程。这是一个不错的方式,在利用数据库事务后,不会具有删除后又没有插入导致数据不分歧的环境。

  ok,道理是如许,那么到现实的操作中,大师若何操作的呢?有人通过在法式中,通过多次数据库操作完成如上的要求,这种方式可能具有这数据的不分歧性,由于无法包管在两个数据语句操作之间呈现不测。那么我们就归并到一个存储过程中去完成吧,复杂的参数和领受后处置,让这个存储过程变的坚苦。下边我就连系现实使用说说此过程吧。使用场景,在学生办理中,添加一条学生记实,对应的要 添加学生对应的课程。即每次更新和新增学生记实,对应其课程也要跟着变化。

  通用的参数传送,在此不再详说,重点讲解,科目消息传送事后怎样处置。假设从表Tb_StudentSubject 具有StudentId,SubjectId两个字段。那么代码如下:

  在这边代码中,科目列表通过“,”进行朋分,上边的存储过程带正文,重点申明两个系统自带的函数

  start:要截取的起头位置,留意此方式和C#自带的位置纷歧样,数据库中strat从1起头,法式中从0起头

  通过以上代码,就能够实现一个完整存储过程实现主从表数据的处置了,在数据分歧性和操作便利性获得包管,并且不异通用。

  注:在涉及雷同主从关系表中,建议不要在从表中设置主动编号的主键,由于屡次的删除和添加,导致主键不竭的累增,并且毫无利用此主键的意义。

http://takahangha.com/shujuku/734/

你可能喜欢的