In SQL Server puoi utilizzare APP_NAME()
funzione per ottenere il nome dell'applicazione per la sessione corrente. Ciò presuppone che l'applicazione imposti quel valore del nome.
Puoi utilizzare questa funzione per distinguere tra diverse applicazioni, in modo da eseguire azioni diverse per tali applicazioni.
Si noti che il client fornisce il nome dell'applicazione e quindi il risultato restituito da questa funzione riflette semplicemente il nome fornito dal client. Per questo motivo, Microsoft consiglia di non utilizzare questa funzione per i controlli di sicurezza.
Sintassi
La funzione non richiede alcun argomento, quindi la sua sintassi è la seguente:
APP_NAME ( )
Esempio 1:risultato in Azure Data Studio
Ecco il risultato che ottengo quando utilizzo Azure Data Studio.
SELECT APP_NAME( ) AS Result;
Risultato:
+--------------+ | Result | |--------------| | azdata-Query | +--------------+
Esempio 2 – Risultato in mssql-cli
Ecco il risultato che ottengo quando utilizzo l'interfaccia della riga di comando mssql-cli.
SELECT APP_NAME( ) AS Result;
Risultato:
+-----------------------------------+ | Result | |-----------------------------------| | Core .Net SqlClient Data Provider | +-----------------------------------+
Esempio 3:utilizzo di APP_NAME() in un'istruzione condizionale
Ecco un esempio di utilizzo di APP_NAME()
in una dichiarazione condizionale per fornire un formato di data diverso a seconda dell'applicazione utilizzata.
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);
Risultato in Azure Data Studio:
Application: azdata-Query Date: 2019/12/06
Risultato in mssql-cli:
Application: Core .Net SqlClient Data Provider Date: 06/12/2019