Źródło: Arkusze CKE
Który z obiektów relacyjnej bazy danych, będący kodem języka SQL, może być wywoływany w zapytaniach modyfikujących kolumny danych widoczne jako tabela, bez względu na to czy jest tworzony programowo, czy dynamicznie?
Warianty odpowiedzi
-
A
Funkcja zdefiniowana
-
B
Reguła
-
C
Procedura składowa
-
D
Wyzwalacz
Wyjaśnienie
Chodzi tutaj o funkcję zdefiniowaną przez użytkownika (UDF - User-Defined Function). Funkcję w SQL możesz potraktować niemal dokładnie tak samo jak funkcję w języku programowania - przyjmuje argumenty i zwraca konkretny wynik lub tabelę.
Główna zaleta funkcji polega na tym, że możesz jej użyć bezpośrednio wewnątrz zapytania SQL, na przykład w SELECT, WHERE czy UPDATE. Działa dokładnie tak samo jak wbudowane funkcje bazodanowe, np. ROUND() czy UPPER().
Inne obiekty z odpowiedzi mają zupełnie inne zastosowanie. Procedury składowe musisz wywoływać osobnym poleceniem CALL lub EXEC i nie da się ich wpleść bezpośrednio w środek zapytania. Z kolei wyzwalacze (triggery) reagują automatycznie na zdarzenia w bazie i nie wywołujesz ich ręcznie w kodzie zapytania.