Condividi tramite


Eseguire funzioni definite dall'utente

È possibile eseguire una funzione definita dall'utente in SQL Server 2012 tramite Transact-SQL.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Sicurezza

  • Per eseguire una funzione definita dall'utente tramite:

    Transact-SQL

Prima di iniziare

Limitazioni e restrizioni

In Transact-SQL è possibile specificare i parametri tramite value o @parameter\_name = value. Un parametro non fa parte di una transazione, pertanto se un parametro viene modificato in una transazione per la quale verrà eseguito il rollback, il valore del parametro non viene ripristinato nel suo valore precedente. Il valore restituito al chiamante corrisponde sempre al valore specificato al termine del modulo.

Sicurezza

Autorizzazioni

Per eseguire l'istruzione EXECUTE, non è necessario disporre di autorizzazioni specifiche. Sono tuttavia richieste autorizzazioni per le entità a protezione diretta a cui viene fatto riferimento all'interno della stringa EXECUTE. Se, ad esempio, la stringa include un'istruzione INSERT, il chiamante dell'istruzione EXECUTE deve disporre dell'autorizzazione INSERT per la tabella di destinazione. Le autorizzazioni vengono verificate non appena viene rilevata l'istruzione EXECUTE, anche se l'istruzione è inclusa in un modulo. Per ulteriori informazioni, vedere EXECUTE (Transact-SQL)

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di Transact-SQL

Per eseguire una funzione definita dall'utente

  1. In Esplora oggetti connettersi a un'istanza del Motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    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;
    

Per ulteriori informazioni, vedere EXECUTE (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]