Di SQL Server, Anda dapat menggunakan DB_ID()
berfungsi untuk mengembalikan ID database saat ini, atau database lain yang ditentukan.
Cara kerjanya adalah, Anda memberikan nama database sebagai argumen, dan kemudian fungsi tersebut akan mengembalikan ID database tersebut. Jika Anda tidak memberikan nama, itu akan mengembalikan ID dari database saat ini.
Contoh 1 – Mengembalikan Database Saat Ini
Berikut adalah contoh dasar untuk mendemonstrasikan cara mengembalikan nama database saat ini.
SELECT DB_ID() AS [Current Database];
Hasil:
+--------------------+ | Current Database | |--------------------| | 6 | +--------------------+
Dalam hal ini, database saat ini memiliki ID 6.
Berikut contoh lain yang menunjukkannya lebih jauh, dengan mengganti basis data.
USE Music; SELECT DB_ID() AS [Current Database]; USE EMS; SELECT DB_ID() AS [Current Database]; USE WideWorldImportersDW; SELECT DB_ID() AS [Current Database];
Hasil:
Changed database context to 'Music'. +--------------------+ | Current Database | |--------------------| | 5 | +--------------------+ (1 row affected) Changed database context to 'EMS'. +--------------------+ | Current Database | |--------------------| | 14 | +--------------------+ (1 row affected) Changed database context to 'WideWorldImportersDW'. +--------------------+ | Current Database | |--------------------| | 6 | +--------------------+ (1 row affected)
Contoh 2 – Mengembalikan Database Tertentu
Berikut adalah contoh mengembalikan database tertentu. Ini dilakukan dengan memasukkan nama database.
SELECT DB_ID('Music') AS Result;
Hasil:
+----------+ | Result | |----------| | 5 | +----------+
Berikut selengkapnya:
SELECT DB_ID('master') AS [master], DB_ID('tempdb') AS [tempdb], DB_ID('model') AS [model], DB_ID('msdb') AS [msdb], DB_ID('Music') AS [Music], DB_ID('WideWorldImportersDW') AS ['WideWorldImportersDW'];
Hasil:
+----------+----------+---------+--------+---------+--------------------------+ | master | tempdb | model | msdb | Music | 'WideWorldImportersDW' | |----------+----------+---------+--------+---------+--------------------------| | 1 | 2 | 3 | 4 | 5 | 6 | +----------+----------+---------+--------+---------+--------------------------+
Contoh 3 – Kueri Basis Data
Berikut adalah contoh di mana DB_ID()
bisa berguna.
USE WideWorldImportersDW; SELECT name AS [Foreign Key], OBJECT_NAME(parent_object_id, DB_ID('Music')) AS [Parent Object Name], OBJECT_NAME(referenced_object_id, DB_ID('Music')) AS [Referenced Object Name] FROM Music.sys.foreign_keys WHERE name = 'FK_Artists_Country';
Hasil:
Changed database context to 'WideWorldImportersDW'. +--------------------+----------------------+--------------------------+ | Foreign Key | Parent Object Name | Referenced Object Name | |--------------------+----------------------+--------------------------| | FK_Artists_Country | Artists | Country | +--------------------+----------------------+--------------------------+ (1 row affected)
Dalam contoh ini, database saat ini adalah WideWorldImportersDW, tetapi saya ingin informasi tentang kunci asing di database Musik. OBJECT_NAME()
function mengembalikan nama objek berdasarkan ID-nya, tetapi jika objek berada di database yang berbeda, itu juga memungkinkan saya untuk menentukan ID database. Namun, dalam hal ini saya hanya tahu nama databasenya. Tidak masalah, karena saya bisa menggunakan DB_ID()
untuk mengembalikan ID berdasarkan nama.