Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да направите изтриване на преминаваща заявка в SQL Server

В SQL Server, OPENQUERY функцията rowset ви позволява да изпълните преходна заявка на свързан сървър.

OPENQUERY обикновено се споменава в FROM клауза на заявка, сякаш е таблица, но може да се посочи и като целева таблица на INSERT , UPDATE или DELETE изявление.

Тази статия представя пример за използване на OPENQUERY за да направите DELETE преминаваща заявка.

Пример

Да предположим, че свързаният сървър, наречен Homer има таблица в Pets база данни, наречена Cats със следните данни.

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

Резултат:

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

И да кажем, че искаме да изтрием една от котките от базата данни.

Можем да направим това с помощта на DELETE транзитна заявка към свързания сървър, като тази.

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

Резултат:

(1 row affected)

Проверете резултатите

Вече можем да изпълним SELECT преминаваща заявка, за да видите резултатите.

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

Резултат:

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

Както се очакваше, вторият ред беше изтрит и сега остават само два реда.

Едно нещо, което трябва да се отбележи е, че OPENQUERY не приема променливи за своите аргументи.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Когато не е посочено „Поръчай по“, какъв ред избира заявката за вашия набор от записи?

  2. SSMS версия 18 – няма диаграми на база данни

  3. Възможни начини за коригиране на проблема с повреда на метаданните на SQL Server

  4. Архивиране на SQL Server 2017 -1

  5. ПРОВЕРЯТЕ Ограниченията в SQL Server