W zapytaniach modyfikujących dane (DML), takich jak UPDATE czy INSERT, w wielu miejscach oczekiwana jest wartość (np. po prawej stronie przypisania w SET). Obiekt bazy danych, który najlepiej pasuje do tego wymagania, to funkcja zdefiniowana, ponieważ jej cechą jest zwracanie wartości. Dzięki temu może występować w wyrażeniu SQL, np. w schemacie: UPDATE tabela SET kolumna = funkcja(argumenty).
Odpowiedź "procedura składowa" jest niepoprawna w tym kontekście, bo procedura służy do wykonania sekwencji operacji i uruchamia się ją osobnym poleceniem (CALL/EXEC). Procedura nie jest zwykle traktowana jako część wyrażenia, które ma zwrócić pojedynczą wartość do wstawienia/przypisania w kolumnie.
Odpowiedź "wyzwalacz" także nie pasuje: wyzwalacz nie jest wywoływany "w zapytaniu" przez użytkownika. Działa automatycznie jako reakcja na zdarzenie (np. INSERT/UPDATE/DELETE) i wykonuje się w tle zgodnie z definicją.
Odpowiedź "reguła" nie jest właściwa, ponieważ reguły to mechanizmy specyficzne lub historyczne, niewykorzystywane jako standardowy, jawnie wywoływany fragment kodu zwracający wartość w wyrażeniach UPDATE/INSERT. Na egzaminie praktyczna i ogólna zasada brzmi: gdy potrzebujesz wartości w zapytaniu, wybierasz funkcję; gdy potrzebujesz wykonać procedurę działań, wybierasz procedurę; gdy potrzebujesz reakcji na zdarzenie, używasz wyzwalacza.
- Wskazówka egzaminacyjna: jeśli w treści pojawia się "zwraca wartość" lub "używane w wyrażeniu SET/SELECT", najczęściej chodzi o funkcję.