SQL Server 2000. Руководство для ознакомления с продуктом

       

Пользовательские функции и улучшенные возможности программирования


В дополнение к встроенным в него функциям языка T-SQL сервер SQL Server 2000 позволяет разработчикам создавать нестандартные пользовательские функции. Пользовательскими являются функции языка T?SQL, начинающиеся с оператора CREATE FUNCTION. Это подпрограммы, содержащие один или несколько операторов T-SQL, которые используются, чтобы оформить фрагменты программного кода в модули для повторного использования. Оформляя регулярно используемые алгоритмы в виде в пользовательских функций, разработчики могут сберечь свое время методом, альтернативным применению хранимых процедур. Механизмы вызова таких функций сходны с теми, что используются для вызова встроенных функций языка T-SQL. Результатами выполнения пользовательских функций могут быть не только скалярные значения, но и целые таблицы, что выходит за рамки возможностей конкурирующих продуктов.

Необходимо также отметить следующие улучшения возможностей программирования сервера SQL Server 2000.

·         Каскадные ссылочные ограничения целостности. Действия, предпринимаемые при попытке удалить или обновить ключ, на который указывает существующий внешний ключ, можно контролировать с помощью новых предложений ON DELETE и ON UPDATE в предложениях REFERENCES операторов CREATE TABLE и ALTER TABLE.

·         Триггеры INSTEAD OF и AFTER. Триггеры INSTEAD OF срабатывают вместо запускающего их действия (например, вместо операторов INSERT, UPDATE, DELETE). Будучи определенными для представлений, эти триггеры значительно расширяют типы обновлений, которые может поддерживать представление. Триггеры AFTER срабатывают после запускающего их действия. Можно также указать, какие из этих триггеров должны срабатывать в первую и в последнюю очередь.

·         Индексы по вычисляемым столбцам. Индексы могут определяться для вычисляемых столбцов, если заданное для столбца выражение соответствует определенным условиям. Оно должно ссылаться только на столбцы таблицы, содержащей этот вычисляемый столбец, а также быть детерминированным.

·         Новые типы данных. Тип данных bigint используется для целых значений длиной 8 байтов. sql_variant – тип данных, позволяющий хранить значения различных типов данных. Новый тип данных table дает приложениям возможность временно хранить результаты для последующего использования. Он поддерживается для переменных, а также в качестве типа возвращаемых данных для пользовательских приложений.

·         Порядок сортировки на уровне столбца. Позволяет хранить в одной базе данных объекты, имеющие различные порядки сортировки. Порядок сортировки может указываться на уровне базы данных или на уровне столбца.



Содержание раздела