国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

合并數據

2024-07-21 02:48:52
字體:
來源:轉載
供稿:網友
合并數據

  在實際項目開發過程中,經常有合并數據的需求。這里合并數據的意思是,對于源表A,目標表B,如果A中存在B中不存在則插入記錄,如果A中存在B中也存在則更新記錄,如果A中不存在B中存在則刪除記錄。

  為了實現這一需求,我們有兩種解決方案,一是傳統的處理方法,即使用EXISTS謂詞,更新和新增分開處理的方式。另一種是使用MERGE語句(SQL Server 2008中新增的功能)。為了演示這一功能,首先我們需要準備測試數據,我們在tempdb臨時數據庫中新建兩個表,源表Customers和目標表Customersstage,然后向這兩個表中插入測試數據,如下代碼。

USE tempdb;GO-- 合并數據-- 對于源表A,目標表B,如果A中存在B中不存在則插入記錄,如果A中存在B中也存在則更新記錄,如果A中不存在B中存在則刪除記錄。-- 準備測試數據IF OBJECT_ID('dbo.Customers','U') IS NOT NULL DROP TABLE dbo.Customers;GOCREATE TABLE dbo.Customers(    custid INT NOT NULL,    companyname NVARCHAR(30) NOT NULL,    phone VARCHAR(30) NOT NULL,    ADDRESS NVARCHAR(50) NOT NULL,    CONSTRAINT PK_Customers PRIMARY KEY(custid)        );INSERT INTO dbo.Customers        ( custid, companyname, phone, ADDRESS )VALUES  (1,N'cust 1','(111)111-111',N'address 1'),        (2,N'cust 2','(222)222-222',N'address 2'),        (3,N'cust 3','(333)333-333',N'address 3'),        (4,N'cust 4','(444)444-444',N'address 4'),        (5,N'cust 5','(555)555-555',N'address 5');        IF OBJECT_ID('dbo.CustomersStage','U') IS NOT NULL DROP TABLE dbo.CustomersStage;GOCREATE TABLE dbo.CustomersStage(    custid INT NOT NULL,    companyname NVARCHAR(30) NOT NULL,    phone VARCHAR(30) NOT NULL,    ADDRESS NVARCHAR(50) NOT NULL,    CONSTRAINT PK_CustomersStage PRIMARY KEY(custid)    );INSERT INTO dbo.CustomersStage        ( custid, companyname, phone, ADDRESS )VALUES  (2,N'AAAAA','(222)222-222',N'address 2'),        (3,N'cust 3','(333)333-333',N'address 3'),        (5,N'BBBBB','CCCCC',N'DDDDD'),        (6,N'cust 6(new)','(666)666-666',N'address 6'),        (7,N'cust 7(new)','(777)777-777',N'address 7');

運行以下代碼查看示例數據效果。

SELECT * FROM dbo.Customers;SELECT * FROM dbo.CustomersStage;

查詢結果如下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临湘市| 淳安县| 万载县| 赤水市| 鄂尔多斯市| 巢湖市| 丰宁| 铜川市| 景宁| 莱西市| 思南县| 独山县| 华宁县| 高淳县| 禄丰县| 吉安县| 伊川县| 罗定市| 萝北县| 珠海市| 泗水县| 台湾省| 灵宝市| 金乡县| 贺兰县| 黄山市| 隆子县| 吉木萨尔县| 靖江市| 邓州市| 潜山县| 弥渡县| 永兴县| 阳泉市| 常州市| 龙山县| 钦州市| 阳信县| 颍上县| 定结县| 西畴县|