Функциональная и точечная нотации
Доступ к атрибутам определяемых пользователем типов может быть произведен с использованием одной из двух нотаций. Во многих ситуациях приложения могут выглядеть более естественно при использовании "точечной нотации":
WHERE emp.salary > 10000
а в других ситуациях может быть более естественной функциональная нотация:
WHERE salary (emp) > 10000
В SQL:1999 поддерживаются обе нотации; в действительности, они определяются как синтаксические вариации одного и того же -- если "emp" является сущностью хранения (например, столбцом или переменной) с объявленным типом некоторого структурного типа с атрибутом, именуемым "salary" … или существует функция с именем "salary" с единственным аргументом, тип данных которого является (соответствующим) структурному типу данных emp.
В этому случае методы являются немного менее гибкими, чем функции: Для вызовов методом может использоваться только точечная нотация -- по крайней мере, для целей указания особого аргумента. Если метод salary был бы методом, тесно связанным с типом, скажем, employee, который, в свою очередь, был бы объявленным типом столбца emp, то метод можно было бы вызвать только с использованием конструкции
emp.salary
В другом методе, скажем, give_raise, могут комбинироваться точечная и функциональная нотации:
emp.give_raise (amount)