Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Użyj APP_NAME(), aby uzyskać nazwę aplikacji bieżącej sesji w SQL Server

W SQL Server możesz użyć APP_NAME() funkcja, aby uzyskać nazwę aplikacji dla bieżącej sesji. Zakłada się, że aplikacja ustawi tę wartość nazwy.

Możesz użyć tej funkcji, aby rozróżnić różne aplikacje, jako sposób wykonywania różnych działań dla tych aplikacji.

Należy zauważyć, że klient podaje nazwę aplikacji, więc wynik zwracany przez tę funkcję po prostu odzwierciedla dowolną nazwę podaną przez klienta. Z tego powodu firma Microsoft zaleca, aby ta funkcja nie była używana do kontroli bezpieczeństwa.

Składnia

Funkcja nie wymaga żadnych argumentów, więc jej składnia wygląda następująco:

APP_NAME  ( )

Przykład 1 – Wynik w Azure Data Studio

Oto wynik, jaki otrzymuję podczas korzystania z Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Wynik:

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

Przykład 2 – Wynik w mssql-cli

Oto wynik, który otrzymuję podczas korzystania z interfejsu wiersza poleceń mssql-cli.

SELECT APP_NAME( ) AS Result;

Wynik:

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

Przykład 3 – Użycie APP_NAME() w instrukcji warunkowej

Oto przykład użycia APP_NAME() w oświadczeniu warunkowym, aby zapewnić inny format daty w zależności od używanej aplikacji.

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

Wynik w Azure Data Studio:

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

Wynik w mssql-cli:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd serwera SQL 113:Brak znaku komentarza końcowego „*/”

  2. MONTH() Przykłady w SQL Server (T-SQL)

  3. Dodaj kolumnę z wartością domyślną do istniejącej tabeli w SQL Server

  4. Zmień typ zdefiniowany przez użytkownika w SQL Server

  5. EXISTS vs JOIN i użycie klauzuli EXISTS