diff --git a/Insert-or-Update.md b/Insert-or-Update.md index d4ef7c6..d0634e4 100644 --- a/Insert-or-Update.md +++ b/Insert-or-Update.md @@ -82,6 +82,19 @@ Tip: When the number of updated fields exceeds 3000, the benefits are greater. fsql.InsertOrUpdate().SetSource(list).ExecuteSqlBulkCopy(); ``` +```sql +SELECT ... INTO #temp_T1 FROM [T1] WHERE 1=2 + +MERGE INTO [T1] t1 USING (select * from #temp_user1) t2 ON (t1.[id] = t2.[id]) +WHEN MATCHED THEN + update set ... +WHEN NOT MATCHED THEN + insert (...) + values (...); + +DROP TABLE #temp_user1 +``` + --- ## 5. Batch Editing: `BeginEdit` diff --git a/添加或修改.md b/添加或修改.md index c762f3b..87a90ac 100644 --- a/添加或修改.md +++ b/添加或修改.md @@ -83,6 +83,19 @@ repo.InsertOrUpdate(实体); fsql.InsertOrUpdate().SetSource(list).ExecuteSqlBulkCopy(); ``` +```sql +SELECT ... INTO #temp_T1 FROM [T1] WHERE 1=2 + +MERGE INTO [T1] t1 USING (select * from #temp_user1) t2 ON (t1.[id] = t2.[id]) +WHEN MATCHED THEN + update set ... +WHEN NOT MATCHED THEN + insert (...) + values (...); + +DROP TABLE #temp_user1 +``` + --- ## 5、BeginEdit 批量编辑