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


Выполнение определяемых пользователем функций

Определяемую пользователем функцию можно выполнить в SQL Server 2014 с помощью Transact-SQL.

В этом разделе

Перед началом работы

Ограничения и условия

В Transact-SQL параметры можно предоставлять либо с помощью значения, либо с помощью @parameter_name=значения. Параметр не является частью транзакции; поэтому, если параметр изменяется в транзакции, которая позже откатывается, значение параметра не возвращается к предыдущему значению. Возвращаемым вызывающему значением всегда является то значение, которое существует при возврате модуля.

Безопасность

Разрешения

Разрешения не требуются для запуска инструкции EXECUTE. Однако разрешения необходимы для защищаемых объектов, на которые ссылается строка EXECUTE. Например, если строка содержит инструкцию INSERT, вызывающий оператор EXECUTE должен иметь разрешение INSERT в целевой таблице. Разрешения проверяются при обнаружении инструкции EXECUTE, даже если инструкция EXECUTE включена в модуль. Дополнительные сведения см. в разделе EXECUTE (Transact-SQL)

Использование Transact-SQL

Выполнение определяемой пользователем функции

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2012;  
    GO  
    -- Declares a variable and sets it to zero.  
    -- This variable is used to return the results of the function.  
    DECLARE @ret nvarchar(15)= NULL;   
    
    -- Executes the dbo.ufnGetSalesOrderStatusText function.  
    --The function requires a value for one parameter, @Status.   
    EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status= 5;   
    --Returns the result in the message tab.  
    PRINT @ret;  
    

Дополнительные сведения см. в разделе EXECUTE (Transact-SQL).