国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

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

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

二、測試數據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兩表數據同步內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MsSQL 數據庫
相關文章:
主站蜘蛛池模板: 米脂县| 河北区| 泰州市| 漳平市| 镇巴县| 伊宁市| 襄城县| 临邑县| 曲沃县| 民权县| 铁岭市| 连江县| 温宿县| 灵宝市| 高台县| 尼木县| 昌江| 宁河县| 措美县| 夏津县| 东乌珠穆沁旗| 兴业县| 辽阳市| 宝兴县| 闽侯县| 绿春县| 八宿县| 文水县| 大港区| 呼图壁县| 通化市| 商都县| 张家口市| 通道| 洪湖市| 万山特区| 霞浦县| 三亚市| 平陆县| 浦县| 石棉县|