Różnica Między Wyzwalaczami A Kursorami

Różnica Między Wyzwalaczami A Kursorami
Różnica Między Wyzwalaczami A Kursorami

Wideo: Różnica Między Wyzwalaczami A Kursorami

Wideo: Różnica Między Wyzwalaczami A Kursorami
Wideo: Charakterystyka Czasowo-Prądowa wyłącznika nadprądowego instalacyjnego - jak czytać i zrozumieć? 🤔 2024, Marzec
Anonim

Wyzwalacze a kursory

W bazie danych wyzwalacz to procedura (segment kodu) wykonywana automatycznie, gdy w tabeli / widoku wystąpią określone zdarzenia. Wśród innych zastosowań wyzwalaczy są używane głównie do utrzymania integralności bazy danych. Kursor jest strukturą sterującą używaną w bazach danych do przeglądania rekordów bazy danych. Jest bardzo podobny do iteratora dostarczanego przez wiele języków programowania.

Co to są wyzwalacze?

Wyzwalacz to procedura (segment kodu), która jest wykonywana automatycznie, gdy w tabeli / widoku bazy danych wystąpią określone zdarzenia. Wśród innych zastosowań wyzwalacze są używane głównie do zachowania integralności bazy danych. Wyzwalacze są również używane do wymuszania reguł biznesowych, inspekcji zmian w bazie danych i replikacji danych. Najczęstszymi wyzwalaczami są wyzwalacze języka manipulacji danymi (DML), które są wyzwalane podczas manipulowania danymi. Niektóre systemy baz danych obsługują wyzwalacze niezwiązane z danymi, które są wyzwalane, gdy wystąpią zdarzenia języka definicji danych (DDL). Niektóre przykłady to wyzwalacze, które są uruchamiane podczas tworzenia tabel, podczas wykonywania operacji zatwierdzania lub wycofywania zmian itp. Te wyzwalacze mogą być szczególnie używane do kontroli. System bazy danych Oracle obsługuje wyzwalacze na poziomie schematu (tjwyzwalacze uruchamiane, gdy schematy bazy danych są modyfikowane), takie jak Po utworzeniu, Przed zmianą, Po zmianie, Przed upuszczeniem, Po upuszczeniu itp. Cztery główne typy wyzwalaczy obsługiwane przez Oracle to wyzwalacze na poziomie wiersza, wyzwalacze na poziomie kolumny, wyzwalacze na każdy typ wiersza i Wyzwalacze dla każdego typu instrukcji.

Co to są kursory?

Kursor jest strukturą sterującą używaną w bazach danych do przeglądania rekordów bazy danych. Jest bardzo podobny do iteratora dostarczanego przez wiele języków programowania. Oprócz przechodzenia przez rekordy w bazie danych, kursory ułatwiają również pobieranie danych, dodawanie i usuwanie rekordów. Określając prawidłowy sposób, kursory mogą być również używane do przechodzenia wstecz. Gdy zapytanie SQL zwraca zestaw wierszy, w rzeczywistości są one przetwarzane za pomocą kursorów. Kursor należy zadeklarować i przypisać mu nazwę, zanim będzie można go użyć. Następnie należy otworzyć kursor poleceniem OPEN. Ta operacja umieści kursor tuż przed pierwszym wierszem wynikowego zestawu rekordów. Następnie kursor musi wykonać operację FETCH, aby faktycznie pobrać wiersz danych do aplikacji. Na koniec kursor należy zamknąć za pomocą operacji CLOSE. Zamknięte kursory można ponownie otworzyć.

Jaka jest różnica między wyzwalaczami a kursorami?

Wyzwalacz to procedura (segment kodu), która jest wykonywana automatycznie, gdy w tabeli / widoku bazy danych wystąpią określone zdarzenia, podczas gdy kursor jest strukturą sterującą używaną w bazach danych do przeglądania rekordów bazy danych. Kursor można zadeklarować i używać w wyzwalaczu. W takiej sytuacji instrukcja deklaracji znajdowałaby się wewnątrz wyzwalacza. Wtedy zasięg kursora byłby ograniczony do tego wyzwalacza. Jeśli w wyzwalaczu zadeklarowano kursor we wstawionej lub usuniętej tabeli, taki kursor nie byłby dostępny z zagnieżdżonego wyzwalacza. Po zakończeniu wyzwalania wszystkie kursory utworzone w wyzwalaczu zostaną cofnięte.

Zalecane: