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