Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách thực hiện truy vấn chuyển qua DELETE trong SQL Server

Trong SQL Server, OPENQUERY chức năng tập hợp hàng cho phép bạn thực hiện truy vấn chuyển qua trên máy chủ được liên kết.

OPENQUERY thường được tham chiếu trong FROM mệnh đề của một truy vấn như thể nó là một bảng, nhưng nó cũng có thể được tham chiếu như là bảng đích của một INSERT , UPDATE hoặc DELETE tuyên bố.

Bài viết này trình bày một ví dụ về việc sử dụng OPENQUERY để thực hiện DELETE truy vấn chuyển qua.

Ví dụ

Giả sử máy chủ được liên kết có tên là Homer có một bảng trong Pets cơ sở dữ liệu có tên Cats với dữ liệu sau.

SELECT * FROM OPENQUERY (
    Homer, 
    'SELECT * FROM Pets.dbo.Cats'
    );

Kết quả:

+---------+------------+
| CatId   | CatName    |
|---------+------------|
| 1       | FluffDupp  |
| 2       | Scratch    |
| 3       | Short Tail |
+---------+------------+

Và giả sử chúng tôi muốn xóa một trong những con mèo khỏi cơ sở dữ liệu.

Chúng tôi có thể làm điều đó bằng cách sử dụng DELETE truy vấn chuyển qua máy chủ được liên kết, như thế này.

DELETE OPENQUERY (
    Homer, 
    'SELECT CatName FROM Pets.dbo.Cats WHERE CatId = 2'
    );

Kết quả:

(1 row affected)

Kiểm tra kết quả

Bây giờ chúng ta có thể chạy một SELECT chuyển qua truy vấn để xem kết quả.

SELECT * FROM OPENQUERY (
    Homer, 
    'SELECT * FROM Pets.dbo.Cats'
    );

Kết quả:

+---------+------------+
| CatId   | CatName    |
|---------+------------|
| 1       | FluffDupp  |
| 3       | Short Tail |
+---------+------------+

Như dự kiến, hàng thứ hai đã bị xóa và giờ chỉ còn lại hai hàng.

Một điều cần lưu ý là OPENQUERY không chấp nhận các biến cho các đối số của nó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo Ràng buộc Kiểm tra trên Cột Đơn trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 83

  2. Các kỹ thuật tốt hơn để cắt bớt các số không ở đầu trong SQL Server?

  3. Dapper.NET và proc được lưu trữ với nhiều bộ kết quả

  4. Thiết lập và cấu hình SQL Server Replication

  5. Xuất bảng từ cơ sở dữ liệu sang tệp csv