In SQL Server kunt u de APP_NAME()
. gebruiken functie om de toepassingsnaam voor de huidige sessie op te halen. Dit veronderstelt dat de toepassing die naamwaarde instelt.
U kunt deze functie gebruiken om onderscheid te maken tussen verschillende toepassingen, als een manier om verschillende acties voor die toepassingen uit te voeren.
Houd er rekening mee dat de client de toepassingsnaam geeft, en het resultaat dat door deze functie wordt geretourneerd, weerspiegelt dus eenvoudig de naam die de client geeft. Om deze reden adviseert Microsoft deze functie niet te gebruiken voor veiligheidscontroles.
Syntaxis
De functie vereist geen argumenten, dus de syntaxis gaat als volgt:
APP_NAME ( )
Voorbeeld 1 – Resultaat in Azure Data Studio
Dit is het resultaat dat ik krijg als ik Azure Data Studio gebruik.
SELECT APP_NAME( ) AS Result;
Resultaat:
+--------------+ | Result | |--------------| | azdata-Query | +--------------+
Voorbeeld 2 – Resultaat in mssql-cli
Dit is het resultaat dat ik krijg als ik de opdrachtregelinterface mssql-cli gebruik.
SELECT APP_NAME( ) AS Result;
Resultaat:
+-----------------------------------+ | Result | |-----------------------------------| | Core .Net SqlClient Data Provider | +-----------------------------------+
Voorbeeld 3 – APP_NAME() gebruiken in een voorwaardelijke instructie
Hier is een voorbeeld van het gebruik van APP_NAME()
in een voorwaardelijke verklaring om een ander datumformaat te geven, afhankelijk van de gebruikte applicatie.
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);
Resultaat in Azure Data Studio:
Application: azdata-Query Date: 2019/12/06
Resultaat in mssql-cli:
Application: Core .Net SqlClient Data Provider Date: 06/12/2019