Di SQL Server, Anda dapat menggunakan OPENQUERY
untuk mengeksekusi kueri pass-through pada server tertaut.
OPENQUERY
biasanya dirujuk dalam FROM
klausa kueri seolah-olah itu adalah tabel, tetapi juga dapat direferensikan sebagai tabel target dari INSERT
, UPDATE
, atau DELETE
pernyataan.
Artikel ini menyajikan contoh penggunaan OPENQUERY
untuk melakukan INSERT
kueri pass-through.
Contoh
Katakanlah kita membuat tabel di server tertaut yang disebut Cats
, dalam database bernama Pets
.
Sesuatu seperti ini:
EXEC ('
USE [Pets];
CREATE TABLE [dbo].[Cats](
[CatId] [int] IDENTITY(1,1) NOT NULL,
[CatName] [varchar](60) NULL
) ON [PRIMARY];
') AT Homer;
Dan sekarang kita ingin menyisipkan data menggunakan INSERT
kueri pass-through.
Kita bisa melakukannya seperti ini:
INSERT OPENQUERY (
Homer,
'SELECT CatName FROM Pets.dbo.Cats'
)
VALUES
( 'FluffDupp' ),
( 'Scratch' ),
( 'Long Tail' );
Dalam hal ini, server yang ditautkan disebut Homer
, dan kami memasukkan tiga nilai ke dalam Pets.dbo.Cats
tabel.
Periksa Hasil
Sekarang kita dapat menjalankan SELECT
kueri pass-through untuk melihat hasilnya.
SELECT * FROM OPENQUERY (
Homer,
'SELECT * FROM Pets.dbo.Cats'
);
Hasil:
+---------+-----------+ | CatId | CatName | |---------+-----------| | 1 | FluffDupp | | 2 | Scratch | | 3 | Long Tail | +---------+-----------+
Perhatikan bahwa OPENQUERY
tidak menerima variabel untuk argumennya.