V SQL Server můžete použít APP_NAME()
k získání názvu aplikace pro aktuální relaci. To předpokládá, že aplikace nastaví hodnotu názvu.
Tuto funkci můžete použít k rozlišení mezi různými aplikacemi jako způsob provádění různých akcí pro tyto aplikace.
Všimněte si, že klient poskytuje název aplikace, takže výsledek vrácený touto funkcí jednoduše odráží jakýkoli název, který klient poskytne. Z tohoto důvodu společnost Microsoft doporučuje, aby se tato funkce nepoužívala pro bezpečnostní kontroly.
Syntaxe
Funkce nevyžaduje žádné argumenty, takže její syntaxe vypadá takto:
APP_NAME ( )
Příklad 1 – výsledek v Azure Data Studio
Zde je výsledek, který dostanu při používání Azure Data Studio.
SELECT APP_NAME( ) AS Result;
Výsledek:
+--------------+ | Result | |--------------| | azdata-Query | +--------------+
Příklad 2 – Výsledek v mssql-cli
Zde je výsledek, který dostanu při použití rozhraní příkazového řádku mssql-cli.
SELECT APP_NAME( ) AS Result;
Výsledek:
+-----------------------------------+ | Result | |-----------------------------------| | Core .Net SqlClient Data Provider | +-----------------------------------+
Příklad 3 – Použití APP_NAME() v podmíněném příkazu
Zde je příklad použití APP_NAME()
v podmíněném příkazu k poskytnutí jiného formátu data v závislosti na používané aplikaci.
IF APP_NAME() = 'azdata-Query' PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 111); ELSE IF APP_NAME() = 'Core .Net SqlClient Data Provider' PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 103);
Výsledek v Azure Data Studio:
Application: azdata-Query Date: 2019/12/06
Výsledek v mssql-cli:
Application: Core .Net SqlClient Data Provider Date: 06/12/2019