Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana melakukan UPDATE Pass-Through Query di SQL Server

Di SQL Server, OPENQUERY fungsi rowset memungkinkan Anda 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 UPDATE kueri pass-through.

Contoh

Misalkan server tertaut bernama Homer memiliki tabel di Pets database bernama Cats dengan data berikut.

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

Hasil:

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

Dan katakanlah kita ingin memperbarui salah satu nama kucing.

Kita bisa melakukannya dengan menggunakan UPDATE kueri pass-through terhadap server tertaut, seperti ini.

UPDATE OPENQUERY (
    Homer, 
    'SELECT CatName FROM Pets.dbo.Cats WHERE CatId = 3'
    )
SET CatName = 'Short Tail';

Hasil:

(1 row affected)

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       | Short Tail |
+---------+------------+

Seperti yang diharapkan, baris ketiga kini telah diperbarui.

Satu hal yang harus saya tunjukkan adalah bahwa OPENQUERY tidak menerima variabel untuk argumennya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbaiki Msg 529 "Konversi eksplisit dari tipe data int ke xml tidak diizinkan" di SQL Server

  2. Bekerja dengan Data Salesforce.com di Layanan Pelaporan SQL Server

  3. Ubah Password pada SA Login di SQL Server (Contoh T-SQL)

  4. OPSI (REKOMPILASI) Selalu Lebih Cepat; Mengapa?

  5. Ubah 'datetimeoffset' menjadi 'datetime2' di SQL Server (Contoh T-SQL)