Wyzwalacze a procedury składowane
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. Procedura składowana to metoda, której mogą używać aplikacje uzyskujące dostęp do relacyjnej bazy danych. Zwykle procedury składowane są używane jako metoda sprawdzania poprawności danych i kontrolowania dostępu do bazy danych.
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ą procedury składowane?
Procedura składowana to metoda, której może używać aplikacja uzyskująca dostęp do relacyjnej bazy danych. Zwykle procedury składowane są używane jako metoda sprawdzania poprawności danych i kontrolowania dostępu do bazy danych. Jeśli jakaś operacja przetwarzania danych wymaga wykonania kilku instrukcji SQL, takie operacje są implementowane jako procedury składowane. Podczas wywoływania procedury składowanej należy użyć instrukcji CALL lub EXECUTE. Procedury składowane mogą zwracać wyniki (na przykład wyniki z instrukcji SELECT). Te wyniki mogą być używane przez inne procedury składowane lub aplikacje. Języki używane do pisania procedur składowanych zazwyczaj obsługują struktury kontrolne, takie jak if, while, for itp. W zależności od używanego systemu bazy danych do implementacji procedur składowanych można użyć kilku języków (np. PL / SQL i java w Oracle, T- SQL (Transact-SQL) i. NET Framework w Microsoft SQL Server). Ponadto MySQL używa własnych procedur składowanych.
Jaka jest różnica między wyzwalaczami a procedurami składowanymi?
Wyzwalacz to procedura (segment kodu), która jest wykonywana automatycznie, gdy w tabeli / widoku bazy danych wystąpią określone zdarzenia, podczas gdy procedura składowana jest metodą, z której może korzystać aplikacja uzyskująca dostęp do relacyjnej bazy danych. Wyzwalacze są wykonywane automatycznie, gdy wystąpi zdarzenie, na które ma odpowiedzieć wyzwalacz. Jednak aby wykonać procedurę składowaną, należy użyć określonej instrukcji CALL lub EXECUTE. Wyzwalacze debugowania mogą być trudniejsze i trudniejsze niż debugowanie procedur składowanych. Wyzwalacze są bardzo przydatne, gdy chcesz się upewnić, że coś się wydarzy, gdy nastąpi określone zdarzenie.