Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# sql server关于更新表的理论_C#_Asp.net_Sql_Sql Server 2008 - Fatal编程技术网

C# sql server关于更新表的理论

C# sql server关于更新表的理论,c#,asp.net,sql,sql-server-2008,C#,Asp.net,Sql,Sql Server 2008,我有一个asp.net web应用程序,用户可以在其中更新数据库中的表。我想知道这样做的正确方法。如下图所示,红色阴影区域是我的共同数据,我不需要更新 以下是我需要采取的步骤: 如果数据存在,则不更新数据 删除不在用户更新中的数据 从用户更新中添加表中尚未包含的数据 我还需要审核这个表,所以我会有一个触发器。我想从理论上知道,对表进行此类更新的最佳方法是什么 感谢亚伦介绍了合并的概念 以下是表格数据的外观: foreignkey model primarykey 1

我有一个asp.net web应用程序,用户可以在其中更新数据库中的表。我想知道这样做的正确方法。如下图所示,红色阴影区域是我的共同数据,我不需要更新

以下是我需要采取的步骤:

  • 如果数据存在,则不更新数据
  • 删除不在用户更新中的数据
  • 从用户更新中添加表中尚未包含的数据
  • 我还需要审核这个表,所以我会有一个触发器。我想从理论上知道,对表进行此类更新的最佳方法是什么

    感谢亚伦介绍了合并的概念

    以下是表格数据的外观:

    foreignkey  model  primarykey
    1            AA       1
    1            AA1      2
    1            AA3      3
    23           B        4
    22           C        5
    
    用户将添加如下所示的数据:

    foreignkey  model  primarykey
    1            A1       1
    1            AA1      2
    1            AA3      3
    22           C        5
    

    如您所见,第一行已更新,第二行(即最后一行)已完全删除。你能帮我处理这个合并语句吗?

    是的,这是可能的,它被称为合并。请参阅SQL Server的文档


    如果您不想在数据已经存在的情况下执行任何更新,那么就不要在匹配时添加
    子句。当源不匹配时使用
    ,当目标不匹配时使用
    插入/删除丢失/删除的行。

    是的,这是可能的,称为合并。请参阅SQL Server的文档


    如果您不想在数据已经存在的情况下执行任何更新,那么就不要在匹配时添加
    子句。如果源代码不匹配,请使用
    ;如果目标代码不匹配,请使用
    插入/删除丢失/删除的行。

    还有人想尝试一下吗?还有人想尝试一下吗?