Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felhasználó által definiált függvény végrehajtása a Transact-SQL használatával.
A skaláris függvényeket legalább a függvény kétrészes nevének (<schema>.<function>
) használatával kell meghívni. További információ: CREATE FÜGGVÉNY (Transact-SQL).
Korlátozások
A Transact-SQL-ben a paraméterek <value>
vagy @parameter_name = <value>
használatával adhatók meg. A paraméter nem része a tranzakciónak. Ezért ha egy paraméter módosul egy később visszagördített tranzakcióban, a paraméter értéke nem áll vissza a korábbi értékre. A hívónak visszaadott érték mindig az az érték, amikor a modul visszatér.
Engedélyek
Az EXECUTE utasítás futtatásához nincs szükség engedélyekre. Az engedélyek szükségesek a EXECUTE
stringben hivatkozott biztonsági objektumokra. Ha például a karakterlánc INSERT utasítást tartalmaz, a EXECUTE
utasítás hívójának INSERT
engedéllyel kell rendelkeznie a céltáblán. A rendszer akkor is ellenőrzi az engedélyeket, amikor EXECUTE
utasítás megjelenik, még akkor is, ha a EXECUTE
utasítás egy modulban szerepel. További információ: EXECUTE.
Transact-SQL használata
Ez a példa a AdventureWorks2022
legtöbb kiadásában elérhető ufnGetSalesOrderStatusText
skaláris értékű függvényt használja. A függvény célja egy adott egész számból származó értékesítési állapot szöveges értékének visszaadása. A példát úgy változtathatja meg, hogy 1–7 egész számokat ad át a @Status
paraméternek.
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;
Itt az eredmény.
Order Status: Shipped