Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Gunakan APP_NAME() untuk Mendapatkan Nama Aplikasi dari Sesi Saat Ini di SQL Server

Di SQL Server, Anda dapat menggunakan APP_NAME() berfungsi untuk mendapatkan nama aplikasi untuk sesi saat ini. Ini mengasumsikan aplikasi menetapkan nilai nama itu.

Anda dapat menggunakan fungsi ini untuk membedakan antara aplikasi yang berbeda, sebagai cara untuk melakukan tindakan yang berbeda untuk aplikasi tersebut.

Perhatikan bahwa klien memberikan nama aplikasi, sehingga hasil yang dikembalikan oleh fungsi ini hanya mencerminkan nama apa pun yang diberikan klien. Untuk alasan ini, Microsoft menyarankan agar fungsi ini tidak digunakan untuk pemeriksaan keamanan.

Sintaks

Fungsi ini tidak memerlukan argumen apa pun, jadi sintaksnya seperti ini:

APP_NAME  ( )

Contoh 1 – Hasil di Azure Data Studio

Inilah hasil yang saya dapatkan saat menggunakan Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Hasil:

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

Contoh 2 – Menghasilkan mssql-cli

Inilah hasil yang saya dapatkan saat menggunakan antarmuka baris perintah mssql-cli.

SELECT APP_NAME( ) AS Result;

Hasil:

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

Contoh 3 – Menggunakan APP_NAME() dalam Pernyataan Bersyarat

Berikut ini contoh penggunaan APP_NAME() dalam pernyataan bersyarat untuk memberikan format tanggal yang berbeda tergantung pada aplikasi yang digunakan.

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

Hasil di Azure Data Studio:

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

Hasil di 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. Cara Menginstal SQL Server di Mac

  2. SQL Server ROWCOUNT_BIG()

  3. Ganti spasi duplikat dengan satu spasi di T-SQL

  4. Beberapa pernyataan INSERT vs. INSERT tunggal dengan beberapa NILAI

  5. SQL Server, Bagaimana cara mengatur kenaikan otomatis setelah membuat tabel tanpa kehilangan data?