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

Cách thực hiện một truy vấn chuyển qua CHÈN trong SQL Server

Trong SQL Server, bạn có thể sử dụng OPENQUERY để thực hiện một truy vấn chuyển qua trên một 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 một INSERT truy vấn chuyển qua.

Ví dụ

Giả sử chúng tôi đã tạo một bảng trên máy chủ được liên kết có tên là Cats , trong cơ sở dữ liệu có tên Pets .

Một cái gì đó như thế này:

EXEC ('
    USE  [Pets];
    CREATE TABLE [dbo].[Cats](
        [CatId] [int] IDENTITY(1,1) NOT NULL,
        [CatName] [varchar](60) NULL
    ) ON [PRIMARY];
') AT Homer;

Và bây giờ chúng tôi muốn chèn dữ liệu bằng INSERT truy vấn chuyển qua.

Chúng ta có thể làm như thế này:

INSERT OPENQUERY (
    Homer, 
    'SELECT CatName FROM Pets.dbo.Cats'
    )
VALUES 
    ( 'FluffDupp' ),
    ( 'Scratch' ),
    ( 'Long Tail' );

Trong trường hợp này, máy chủ được liên kết được gọi là Homer và chúng tôi đang chèn ba giá trị vào Pets.dbo.Cats bảng.

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 |
| 2       | Scratch   |
| 3       | Long Tail |
+---------+-----------+

Lưu ý rằng 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ác chỉ mục của SQL Server - tăng dần hoặc giảm dần, nó tạo ra sự khác biệt gì?

  2. Làm cách nào để liệt kê tất cả các bảng trong tất cả các cơ sở dữ liệu trong SQL Server trong một tập hợp kết quả?

  3. Chọn một cột nếu cột khác rỗng

  4. Ghi nhật ký TẤT CẢ Truy vấn trên Cơ sở dữ liệu SQL Server 2008 Express?

  5. Hệ thống quản lý cơ sở dữ liệu phổ biến nhất trên thế giới