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

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

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

瀏覽:4日期: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 數據庫
相關文章:
主站蜘蛛池模板: 姚安县| 高邑县| 贺州市| 奇台县| 曲阜市| 综艺| 铜山县| 安丘市| 东海县| 嵊泗县| 新民市| 城市| 宜昌市| 扎兰屯市| 措勤县| 宜良县| 禹州市| 石狮市| 克拉玛依市| 肇东市| 山丹县| 沅江市| 昔阳县| 德格县| 新沂市| 枣阳市| 驻马店市| 淳安县| 霍州市| 杭州市| 洱源县| 乌鲁木齐市| 西吉县| 房山区| 综艺| 蕉岭县| 白玉县| 临江市| 静乐县| 色达县| 晋城|