Поделиться через


Создание объектов базы данных с интеграцией Common Language Runtime (CLR)

Объекты базы данных можно создавать с помощью Microsoft SQL Server, называемой "подпрограммой CLR". К этим подпрограммам относятся следующие:

  • определяемые пользователем функции, возвращающие скалярное значение (скалярные определяемые пользователем функции);

  • определяемые пользователем функции, возвращающие табличные значения (возвращающие табличное значение функции);

  • определяемые пользователем процедуры (определяемые пользователем процедуры);

  • определяемые пользователем триггеры.

Подпрограммы CLR в управляемом коде имеют одинаковую структуру. Они сопоставляются с общедоступными статическими (общими в Microsoft Visual Basic .NET) методами класса. Кроме подпрограмм, с помощью .NET Framework можно определять пользовательские типы (UDT) и определяемые пользователем агрегатные функции. Определяемые пользователем типы и определяемые пользователем статистические функции сопоставляются с целыми классами .NET Framework.

Каждый тип подпрограммы .NET Framework имеет SQL Server, который можно использовать Transact-SQL эквивалентом. Например, скалярные определяемые пользователем функции могут использоваться во всех скалярных выражениях. TVF можно использовать в любом предложении FROM. Процедуру можно вызвать в инструкции EXEC или вызвать из клиентского приложения.

Замечание

Выполнение объекта CLR (определяемой пользователем функции, определяемого пользователем типа или триггера) в среде CLR может выполняться в нескольких потоках (параллельном плане), если оптимизатор запросов решает, что это полезно. Однако если определяемая пользователем функция обращается к данным, выполнение будет выполняться в последовательном плане. При выполнении на серверной версии до SQL Server 2008, если определяемая пользователем функция содержит бизнес-параметры или возвращаемые значения, выполнение также должно находиться в последовательном плане.

В следующей таблице перечислены разделы, описанные в этом разделе.

Начало работы с интеграцией CLR
Содержит краткий обзор библиотек и пространств имен, необходимых для компиляции объекта с помощью интеграции СРЕДЫ CLR с SQL Server. Включает пример хранимой процедуры CLR «Hello World».

Поддерживаемые библиотеки .NET Framework
Содержит сведения о библиотеках .NET Framework, поддерживаемых интеграцией со средой CLR.

Ограничения модели программирования интеграции СРЕДЫ CLR
Содержит сведения об ограничениях модели программирования интеграции со средой CLR.

Типы данных SQL Server в .NET Framework
Общие сведения о типах данных SQL Server и их платформа .NET Framework эквивалентах.

Общие сведения о настраиваемых атрибутах интеграции СРЕДЫ CLR
Содержит сведения о пользовательских атрибутах интеграции со средой CLR.

Функции CLR User-Defined
Описывает реализацию и использование различных типов функций CLR: возвращающих табличное значение, скалярных и определяемых пользователем агрегатных функций.

Типы User-Defined среды CLR
Показывает, как реализовать и использовать определяемые пользователем типы данных CLR.

Хранимые процедуры CLR
Показывает, как реализовать и использовать хранимые процедуры CLR.

Триггеры СРЕДЫ CLR
Показывает, как реализовать и использовать триггеры CLR.

См. также

Общие сведения об интеграции среды CLR