Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
SQL databáze v Microsoft Fabric
Spusťte uživatelem definovanou funkci pomocí jazyka Transact-SQL.
Skalární funkce musí být vyvolány alespoň názvem dvoudílné funkce (<schema>.<function>). Více informací naleznete v části CREATE FUNCTION (Transact-SQL).
Omezení
V jazyce Transact-SQL lze parametry zadat buď pomocí <value>, nebo pomocí @parameter_name = <value>. Parametr není součástí transakce. Proto pokud se parametr změní v transakci, která se později vrátí zpět, hodnota parametru se neodvrátí k předchozí hodnotě. Hodnota vrácená volajícímu je vždy hodnotou v době, když se modul vrátí.
Dovolení
Oprávnění nejsou nutná ke spuštění příkazu EXECUTE. Oprávnění jsou však vyžadována u zajišťovaných prvků . Pokud například řetězec obsahuje příkaz INSERT, musí mít volající příkazu EXECUTE oprávnění k cílové tabulce INSERT. Oprávnění se kontrolují v době, kdy je příkaz EXECUTE zjištěn, i když je příkaz EXECUTE součástí modulu. Další informace získáte odkazem na EXECUTE.
Použijte Transact-SQL
V tomto příkladu se používá skalární hodnotová funkce ufnGetSalesOrderStatusText, která je k dispozici ve většině edic AdventureWorks2025. Účelem funkce je vrátit textovou hodnotu pro stav prodeje z daného celého čísla. Změňte příklad tím, že předáte celá čísla 1 až 7 do parametru @Status.
USE [AdventureWorks2022]
GO
-- Declare a variable to return the results of the function.
DECLARE @ret NVARCHAR(15);
-- Execute the function while passing a value to the @status parameter
EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status = 5;
-- View the returned value.
-- The Execute and Select statements must be executed at the same time.
SELECT N'Order Status: ' + @ret;
Tady je výsledek.
Order Status: Shipped
Související obsah
- uživatelem definované funkce
- VYTVOŘIT FUNKCI (Transact-SQL)