Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisez APP_NAME() pour obtenir le nom de l'application de la session en cours dans SQL Server

Dans SQL Server, vous pouvez utiliser le APP_NAME() fonction pour obtenir le nom de l'application pour la session en cours. Cela suppose que l'application définit cette valeur de nom.

Vous pouvez utiliser cette fonction pour faire la distinction entre différentes applications, afin d'effectuer différentes actions pour ces applications.

Notez que le client fournit le nom de l'application et que le résultat renvoyé par cette fonction reflète simplement le nom fourni par le client. Pour cette raison, Microsoft conseille de ne pas utiliser cette fonction pour les contrôles de sécurité.

Syntaxe

La fonction ne nécessite aucun argument, sa syntaxe est donc la suivante :

APP_NAME  ( )

Exemple 1 – Résultat dans Azure Data Studio

Voici le résultat que j'obtiens en utilisant Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Résultat :

+--------------+
| Result       |
|--------------|
| azdata-Query |
+--------------+

Exemple 2 – Résultat dans mssql-cli

Voici le résultat que j'obtiens en utilisant l'interface de ligne de commande mssql-cli.

SELECT APP_NAME( ) AS Result;

Résultat :

+-----------------------------------+
| Result                            |
|-----------------------------------|
| Core .Net SqlClient Data Provider |
+-----------------------------------+

Exemple 3 - Utilisation de APP_NAME() dans une instruction conditionnelle

Voici un exemple d'utilisation de APP_NAME() dans une instruction conditionnelle pour fournir un format de date différent selon l'application utilisée.

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);

Résultat dans Azure Data Studio :

Application: azdata-Query
Date: 2019/12/06

Résultat dans mssql-cli :

Application: Core .Net SqlClient Data Provider
Date: 06/12/2019