Share via


Ejecutar funciones definidas por el usuario

Puede ejecutar una función definida por el usuario en SQL Server 2012 mediante Transact-SQL.

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para ejecutar una función definida por el usuario, usando:

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

En Transact-SQL, los parámetros se pueden proporcionar mediante value o mediante @parameter\_name = value. Un parámetro no forma parte de una transacción; por tanto, si se cambia un parámetro en una transacción que se revierte posteriormente, el valor del parámetro no vuelve a su valor anterior. El valor devuelto al procedimiento llamante es siempre el valor del parámetro en el momento en que finaliza el módulo llamado.

Seguridad

Permisos

No se requieren permisos para ejecutar la instrucción EXECUTE. Sin embargo, se requieren permisos para los elementos protegibles a los que se hace referencia en la cadena EXECUTE. Por ejemplo, si la cadena contiene una instrucción INSERT, el autor de llamada de la instrucción EXECUTE debe tener el permiso INSERT en la tabla de destino. Los permisos se comprueban cuando se encuentra la instrucción EXECUTE, incluso si la instrucción EXECUTE está incluida en un módulo. Para obtener más información, vea EXECUTE (Transact-SQL).

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Transact-SQL

Para ejecutar una función definida por el usuario

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    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;
    

Para obtener más información, vea EXECUTE (Transact-SQL).

Icono de flecha usado con el vínculo Volver al principio[Top]