久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

SQL Server兩表數據同步的多種方法詳解

瀏覽:5日期:2023-09-28 21:00:59
目錄一、引言二、測試數據三、數據同步方法3.1、TRUNCATE TABLE3.2、CHECKSUM3.3、MERGE INTO一、引言

A表數據同步至B表的場景很常見,比如一個公司有總部及分廠,它們使用相同的系統(tǒng),只是賬套不同。此時,一些基礎數據如物料信息,只需要總部錄入即可,然后間隔一定時間同步至分廠,避免了重復工作。

二、測試數據CREATE TABLE StudentA( ID VARCHAR(32), Name VARCHAR(20), Sex VARCHAR(10))GOINSERT INTO StudentA (ID,Name,Sex)SELECT '1001','張三','男'UNIONSELECT '1002','李四','男'UNIONSELECT '1003','王五','女'GOCREATE TABLE StudentB( ID VARCHAR(32), Name VARCHAR(20), Sex VARCHAR(10))GOINSERT INTO StudentB (ID,Name,Sex)SELECT '1001','張三','女'UNIONSELECT '1002','李四','女'UNIONSELECT '1003','王五','女'UNIONSELECT '1004','趙六','女'三、數據同步方法3.1、TRUNCATE TABLETRUNCATE TABLE dbo.StudentBINSERT INTO dbo.StudentB SELECT * FROM dbo.StudentA3.2、CHECKSUMDELETE FROM dbo.StudentB WHERE NOT EXISTS (SELECT 1 FROM dbo.StudentA WHERE ID=dbo.StudentB.ID)UPDATE B SET B.Name=A.Name,B.Sex=A.SexFROM dbo.StudentA A INNER JOIN dbo.StudentB B ON A.ID=B.IDWHERE CHECKSUM(A.Name,A.Sex)<>CHECKSUM(B.Name,B.Sex)INSERT INTO dbo.StudentB SELECT * FROM dbo.StudentA WHERE NOT EXISTS (SELECT 1 FROM dbo.StudentB WHERE ID=dbo.StudentA.ID)3.3、MERGE INTOMERGE INTO dbo.StudentB AS T USING dbo.StudentA AS S ON T.ID=S.IDWHEN MATCHED THEN--當ON條件成立時,更新數據。 UPDATE SET T.Name=S.Name,T.Sex=S.SexWHEN NOT MATCHED THEN --當源表數據不存在于目標表時,插入數據。 INSERT VALUES (S.ID,S.Name,S.Sex)WHEN NOT MATCHED BY SOURCE THEN --當目標表數據不存在于源表時,刪除數據。 DELETE;

到此這篇關于SQL Server兩表數據同步的幾種方法 的文章就介紹到這了,更多相關SQL Server兩表數據同步內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MsSQL 數據庫
相關文章:
主站蜘蛛池模板: 南澳县| 茌平县| 潼南县| 静安区| 台东县| 丹寨县| 西畴县| 顺平县| 原平市| 上杭县| 浠水县| 文安县| 安图县| 泽普县| 江陵县| 夏邑县| 丰镇市| 遵义市| 金湖县| 乡城县| 呼和浩特市| 漠河县| 楚雄市| 大庆市| 东源县| 伊宁县| 左云县| 河南省| 阆中市| 白银市| 南京市| 开原市| 吉安市| 黑龙江省| 吉林省| 龙南县| 贵溪市| 宁德市| 灵寿县| 那曲县| 合江县|