- [C#] Hướng dẫn giải nén file *.rar với tiến trình progress bar winform
- [C#] Chia sẻ source code make Crazy Error Message Effect Bomb Windows
- [C#] Lập trình ứng dụng theo mô hình MVP Model-View-Presenter Pattern Winform
- [C#] Giới thiệu và những thứ hay ho từ thư viện System.Reactive của Microsoft
- [C#] Hướng dẫn tạo ứng dụng Chat với GPT sử dụng Open AI API
- [DEVEXPRESS] Tạo month picker trên DateEdit Winform C#
- [DATABASE] Cách sử dụng và lưu ý khi sử dụng khóa ngoại (Foreign Key) trong Sqlserver
- [C#] Garbage Collector (GC) là gì? Cách giải phóng bộ nhớ trên ứng dụng Winform khi các đối tượng không còn sử dụng
- [C#] Cách tính độ tương phản màu sắc Contrast Color mà con người có thể nhìn thấy được
- [C#] Hướng dẫn mã hóa mật khẩu tài khoản ứng dụng đúng chuẩn Men
- [C#] Sử dụng Open AI Chat GPT viết ứng dụng Count down timer có hiệu ứng trên winform
- [DATABASE] Chia sẻ dữ liệu Pantone Color sql và json api
- [SQLSERVER] Tạo mã sản phẩm tự động như: SP0001, SP0002, SP0003... sử dụng Trigger
- [C#] Hướng dẫn kiểm tra phiên bản NET Framework cài đặt ở máy tính
- [C#] Hướng dẫn đọc file excel đơn giản sử dụng thư viện Epplus
- [C#] ConcurrentBag là gì và cách sử dụng nó trong lập trình bất đồng bộ
- [C#] AutoResetEvent là gì và cách sử dụng
- [DEVEXPRESS] Chia sẻ source code cách tạo biểu đồ sơ đồ tổ chức công ty Org Chart trên Winform C#
- [C#] Hướng dẫn tạo Auto Number trên Datagridview winform
- [DATABASE] Hướng dẫn tạo Procedure String Split in Mysql
[SQLSERVER] Sử dụng câu lệnh MERGE Statement
Bài viết hôm nay, mình sẽ hướng dẫn các bạn sử dụng câu lệnh MERGE trong sqlsever.
Vậy lệnh MERGE trong sql dùng để làm gì?
MERGE là lệnh dùng để sửa đổi (update/insert/delete) dữ liệu của 1 bảng dựa vào kết quà so sánh với 1 bảng nào đó. Câu lệnh sử dụng MERGE thường ngắn gọn và hiệu quả hơn các câu lệnh thông thường cho cùng 1 điều kiện.
Ví dụ: Nếu bạn có hai bảng dữ liệu bảng A và bảng B.
Công việc cần làm là copy dữ liệu từ bảng A sang bảng B, nếu bảng A có tồn tại dữ liệu của bảng B thì update, còn nếu chưa có thì sử dụng lệnh insert.
Cú pháp:
-- SQL MERGE Statement Syntax
MERGE [Destination table] AS ds
USING [Source Table] AS st -- Include the columns Name
ON ds.[Common column] = st.[Common Column]
-- It's not about matching, You have to add the expressions
WHEN MATCHED THEN INSERT | DELETE | UPDATE
WHEN NOT MATCHED THEN INSERT | DELETE | UPDATE
Dưới đây là ví dụ:
-- SQL Server Merge Statement example
MERGE [Merge Table] AS mrg
USING (SELECT * FROM [Employee Table]) AS emp
ON mrg.Id = emp.Id
WHEN MATCHED AND mrg.[YearlyIncome] <= 50000 THEN DELETE
WHEN MATCHED AND mrg.[YearlyIncome] >= 80000 THEN
UPDATE SET mrg.[YearlyIncome] = mrg.[YearlyIncome] + 35000
WHEN NOT MATCHED THEN
INSERT ([FirstName]
,[LastName]
,[Education]
,[Occupation]
,[YearlyIncome]
,[Sales]
,[HireDate])
VALUES(emp.[FirstName]
,emp.[LastName]
,emp.[Education]
,emp.[Occupation]
,emp.[YearlyIncome]
,emp.[Sales]
,emp.[HireDate]);
GO
Kết quả sau khi thực hiện:
HAVE FUN :)