Share via


Ausführen von benutzerdefinierten Funktionen

Sie können in SQL Server 2012 mit Transact-SQL eine benutzerdefinierte Funktion ausführen.

In diesem Thema

  • Vorbereitungen:

    Einschränkungen

    Sicherheit

  • Ausführen einer benutzerdefinierten Funktion mit:

    Transact-SQL

Vorbereitungen

Einschränkungen

In Transact-SQL können Parameter mithilfe von value oder mit @parameter\_name = value. angegeben werden. Ein Parameter ist nicht Teil einer Transaktion. Deshalb wird der Wert eines Parameters, der in einer Transaktion geändert wird, nicht wieder auf seinen ursprünglichen Wert zurückgesetzt, wenn für diese Transaktion später ein Rollback ausgeführt wird. Der Wert, der an den Aufrufer zurückgegeben wird, ist immer der Wert zu dem Zeitpunkt, zu dem das Modul beendet wird.

Sicherheit

Berechtigungen

Zum Ausführen der EXECUTE-Anweisung sind keine Berechtigungen erforderlich. Es sind jedoch Berechtigungen für die sicherungsfähigen Elemente erforderlich, auf die in der EXECUTE-Zeichenfolge verwiesen wird. Wenn z. B. die Zeichenfolge eine INSERT-Anweisung enthält, benötigt der Aufrufer der EXECUTE-Anweisung die INSERT-Berechtigung für die Zieltabelle. Berechtigungen werden überprüft, wenn die EXECUTE-Anweisung erreicht wird, selbst wenn die EXECUTE-Anweisung innerhalb eines Moduls enthalten ist. Weitere Informationen finden Sie unter EXECUTE (Transact-SQL).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von Transact-SQL

So führen Sie eine benutzerdefinierte Funktion aus

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    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;
    

Weitere Informationen finden Sie unter EXECUTE (Transact-SQL).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]