Использование параметров возвращающих табличное значение (MS SQL Server)

Начиная с версии 2008 MS SQL Server позволяет принимать табличные наборы данных в качестве параметров хранимых процедур и функций.

Рассмотрим подробнее использование этого приёма.

Чтобы MS SQL Server смог принять в качестве параметра таблицу требуется описать её структуру. Для этого создадим пользовательский тип данных, который будет содержать данное описание.

В качестве примера создадим тип данных, который описывает список моделей автомобилей.

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

Напишем функцию, которая будет возвращать количество записей в табличном наборе созданного ранее типа.

Обратите внимание, что табличный параметр обозначен как readonly. Это обозначение является обязательным, так как над такими параметрами в MS SQL Server запрещено выполнять операции связанные с изменением данных (INSERT, UPDATE, DELETE) в процедурах и функциях.

Если мы создадим табличную переменную типа CarList и вызовем функцию CarListCount, мы получим количество записей в этой переменной.

Например:

Работа с параметрами возвращающими табличное значение в хранимых процедурах осуществляется аналогичным образом.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *