Udostępnij za pośrednictwem


Reguły aktualizowania wyników (Visual Database Tools)

Dotyczy:programu SQL Server

W wielu przypadkach można zaktualizować zestaw wyników wyświetlany w okienku wyników . Jednak w niektórych przypadkach nie można.

Ogólnie rzecz biorąc, aby zaktualizować wyniki, Projektant zapytań i widoków musi mieć wystarczające informacje, aby jednoznacznie zidentyfikować wiersz w tabeli. Przykładem jest to, że zapytanie zawiera klucz podstawowy na liście danych wyjściowych. Ponadto musisz mieć wystarczające uprawnienia do aktualizowania bazy danych.

Jeśli zapytanie jest oparte na widoku, może być możliwe zaktualizowanie go. Mają zastosowanie te same wytyczne, z tą różnicą, że mają zastosowanie do tabel bazowych w widoku, a nie tylko do samego widoku.

Notatka

Projektant zapytań i widoków nie może określić z wyprzedzeniem, czy można zaktualizować zestaw wyników na podstawie widoku. W związku z tym wyświetla wszystkie widoki, nawet jeśli nie można ich zaktualizować.

Poniższa tabela zawiera podsumowanie określonych wystąpień, w których można i może nie być w stanie zaktualizować wyników zapytania w okienku Wyniki. W wielu przypadkach używana baza danych określa, czy można aktualizować wyniki zapytania.

Zapytanie Czy wyniki można zaktualizować?
Zapytanie na podstawie jednej tabeli z kluczem podstawowym na liście danych wyjściowych Tak (z wyjątkiem wymienionych poniżej).
Wykonywanie zapytań na podstawie tabeli bez unikatowego indeksu i bez klucza podstawowego Zależy od zapytań i bazy danych. Niektóre bazy danych zezwalają na aktualizacje, jeśli wystarczające informacje są dostępne do unikatowego identyfikowania rekordów.
Zapytanie oparte na wielu tabelach, które nie są przyłączone Nie.
Wykonywanie zapytań na podstawie danych oznaczonych jako tylko do odczytu w bazie danych Nie.
Wykonywanie zapytań na podstawie widoku obejmującego jedną tabelę bez ograniczeń Tak (z wyjątkiem wymienionych poniżej).
Wykonywanie zapytań na podstawie tabel połączonych z relacją jeden do jednego Tak (z wyjątkiem wymienionych poniżej).
Wykonywanie zapytań na podstawie tabel połączonych z relacją jeden do wielu Zwykle.
Wykonywanie zapytań na podstawie co najmniej trzech tabel, w których istnieje relacja wiele do wielu Nie.
Kwerenda oparta na tabeli, dla której nie udzielono uprawnień aktualizacji Można usunąć, ale nie aktualizować.
Kwerenda oparta na tabeli, dla której nie udzielono uprawnień usuwania Można aktualizować, ale nie usuwać.
Zapytanie agregowane Nie.
Zapytanie na podstawie podzapytania zawierającego sumy lub funkcje agregujące Nie.
Zapytanie zawierające słowo kluczowe DISTINCT wykluczające zduplikowane wiersze Nie.
Zapytanie, którego klauzula FROM zawiera funkcję zdefiniowaną przez użytkownika, która zwraca tabelę, a funkcja zdefiniowana przez użytkownika zawiera wiele instrukcji select Nie.
Zapytanie, którego klauzula FROM zawiera funkcję zdefiniowaną przez użytkownika w tekście Tak.

Ponadto może nie być możliwe zaktualizowanie określonych kolumn w wynikach zapytania. Poniższa lista zawiera podsumowanie określonych typów kolumn, których nie można zaktualizować w okienku Wyniki.

  • Kolumny oparte na wyrażeniach

  • Kolumny oparte na skalarne funkcje zdefiniowane przez użytkownika

  • Wiersze lub kolumny usunięte przez innego użytkownika

  • Wiersze lub kolumny zablokowane przez innego użytkownika (zablokowane wiersze mogą być zwykle aktualizowane natychmiast po odblokowaniu)

  • Znacznik czasu lub kolumny BLOB

Zobacz też

Projektowanie zapytań i widoków - Tematy instruktażowe (Visual Database Tools)