Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में डेटाबेस की आईडी वापस करने के लिए DB_ID () का उपयोग करें

SQL सर्वर में, आप DB_ID() . का उपयोग कर सकते हैं वर्तमान डेटाबेस, या किसी अन्य निर्दिष्ट डेटाबेस की आईडी वापस करने के लिए कार्य करता है।

जिस तरह से यह काम करता है, आप डेटाबेस के नाम को तर्क के रूप में पास करते हैं, और फिर फ़ंक्शन उस डेटाबेस की आईडी वापस कर देगा। यदि आप कोई नाम पास नहीं करते हैं तो यह वर्तमान डेटाबेस की आईडी लौटा देगा।

उदाहरण 1 - वर्तमान डेटाबेस लौटाएं

वर्तमान डेटाबेस का नाम वापस करने का तरीका दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है।

SELECT DB_ID() AS [Current Database];

परिणाम:

+--------------------+
| Current Database   |
|--------------------|
| 6                  |
+--------------------+

इस मामले में, वर्तमान डेटाबेस में 6 की एक आईडी है।

यहां एक और उदाहरण दिया गया है जो डेटाबेस को स्विच करके इसे और प्रदर्शित करता है।

USE Music;
SELECT DB_ID() AS [Current Database];

USE EMS;
SELECT DB_ID() AS [Current Database];

USE WideWorldImportersDW;
SELECT DB_ID() AS [Current Database];

परिणाम:

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)

उदाहरण 2 - एक विशिष्ट डेटाबेस लौटाएं

यहां एक विशिष्ट डेटाबेस को वापस करने का एक उदाहरण दिया गया है। यह डेटाबेस के नाम से पास करके किया जाता है।

SELECT DB_ID('Music') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 5        |
+----------+

यहाँ और है:

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'];

परिणाम:

+----------+----------+---------+--------+---------+--------------------------+
| master   | tempdb   | model   | msdb   | Music   | 'WideWorldImportersDW'   |
|----------+----------+---------+--------+---------+--------------------------|
| 1        | 2        | 3       | 4      | 5       | 6                        |
+----------+----------+---------+--------+---------+--------------------------+

उदाहरण 3 - एक डेटाबेस क्वेरी

यहां एक उदाहरण दिया गया है जहां DB_ID() काम आ सकता है।

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

परिणाम:

Changed database context to 'WideWorldImportersDW'.
+--------------------+----------------------+--------------------------+
| Foreign Key        | Parent Object Name   | Referenced Object Name   |
|--------------------+----------------------+--------------------------|
| FK_Artists_Country | Artists              | Country                  |
+--------------------+----------------------+--------------------------+
(1 row affected)

इस उदाहरण में, वर्तमान डेटाबेस WideWorldImportersDW है, लेकिन मुझे संगीत डेटाबेस में एक विदेशी कुंजी के बारे में जानकारी चाहिए। OBJECT_NAME() फ़ंक्शन अपनी आईडी के आधार पर ऑब्जेक्ट का नाम देता है, लेकिन यदि ऑब्जेक्ट किसी भिन्न डेटाबेस में है, तो यह मुझे डेटाबेस आईडी निर्दिष्ट करने की भी अनुमति देता है। हालांकि, इस मामले में मैं केवल डेटाबेस का नाम जानता हूं। हालांकि कोई समस्या नहीं है, क्योंकि मैं DB_ID() . का उपयोग कर सकता हूं नाम के आधार पर आईडी वापस करने के लिए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मान को अल्पविराम से अलग करने के लिए COALESCE फ़ंक्शन का उपयोग करना

  2. SQL सर्वर में लघु दिन का नाम प्राप्त करें (T-SQL)

  3. SQL सर्वर में दशमलव स्थानों को छोटा करें (गोल नहीं)

  4. समय भाग को अनदेखा करते हुए DATETIME और DATE की तुलना करें

  5. MS SQL सर्वर में अटकी हुई प्रक्रियाओं का स्वचालित विलोपन