Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използвайте DB_ID(), за да върнете идентификатора на база данни в SQL Server

В SQL Server можете да използвате 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. Функция за сигурност в облака Spotlight - Премахване на литерали

  2. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  3. Променете типа на колона с числа от varchar на int

  4. Използвайте Създаване на изявление за създаване на таблица в SQL Server - SQL Server / T-SQL урок, част 34

  5. Sql сървър - свържете се с удостоверяване на Windows