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)