Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Bao gồm bảng &lược đồ khi liệt kê các cột nhận dạng trong cơ sở dữ liệu máy chủ SQL

Nếu bạn đã từng truy vấn sys.identity_columns trong SQL Server, bạn sẽ biết rằng nó trả về một danh sách các cột nhận dạng. Nó cũng trả về object_id của bảng, nhưng không phải là tên bảng hoặc giản đồ của nó.

Bạn có thể sử dụng các ví dụ mã trong bài viết này để trả về các cột nhận dạng, cùng với các bảng và lược đồ tương ứng của chúng.

Ví dụ 1 - Trả lại tất cả kết quả

Ví dụ này sử dụng liên kết với sys.objects để trả về thông tin bảng và lược đồ

USE WideWorldImportersDW;
SELECT 
  SCHEMA_NAME(o.schema_id) AS [schema],
  OBJECT_NAME(ic.object_id) AS [object],
  o.type_desc,
  ic.name,
  ic.seed_value,
  ic.increment_value,
  ic.last_value
FROM sys.identity_columns ic 
INNER JOIN sys.objects o 
ON o.object_id = ic.object_id
ORDER BY SCHEMA_NAME(o.schema_id) ASC;

Kết quả:

+-------------+---------------------------+----------------+------------------------------+--------------+-------------------+--------------+
| schema      | object                    | type_desc      | name                         | seed_value   | increment_value   | last_value   |
|-------------+---------------------------+----------------+------------------------------+--------------+-------------------+--------------|
| Fact        | Movement                  | USER_TABLE     | Movement Key                 | 1            | 1                 | 236667       |
| Fact        | Order                     | USER_TABLE     | Order Key                    | 1            | 1                 | 231412       |
| Fact        | Purchase                  | USER_TABLE     | Purchase Key                 | 1            | 1                 | 8367         |
| Fact        | Sale                      | USER_TABLE     | Sale Key                     | 1            | 1                 | 228265       |
| Fact        | Stock Holding             | USER_TABLE     | Stock Holding Key            | 1            | 1                 | 227          |
| Fact        | Transaction               | USER_TABLE     | Transaction Key              | 1            | 1                 | 99585        |
| Integration | Customer_Staging          | USER_TABLE     | Customer Staging Key         | 1            | 1                 | NULL         |
| Integration | Employee_Staging          | USER_TABLE     | Employee Staging Key         | 1            | 1                 | NULL         |
| Integration | Movement_Staging          | USER_TABLE     | Movement Staging Key         | 1            | 1                 | NULL         |
| Integration | Order_Staging             | USER_TABLE     | Order Staging Key            | 1            | 1                 | NULL         |
| Integration | PaymentMethod_Staging     | USER_TABLE     | Payment Method Staging Key   | 1            | 1                 | NULL         |
| Integration | Purchase_Staging          | USER_TABLE     | Purchase Staging Key         | 1            | 1                 | NULL         |
| Integration | Sale_Staging              | USER_TABLE     | Sale Staging Key             | 1            | 1                 | NULL         |
| Integration | StockHolding_Staging      | USER_TABLE     | Stock Holding Staging Key    | 1            | 1                 | NULL         |
| Integration | StockItem_Staging         | USER_TABLE     | Stock Item Staging Key       | 1            | 1                 | NULL         |
| Integration | Supplier_Staging          | USER_TABLE     | Supplier Staging Key         | 1            | 1                 | NULL         |
| Integration | Transaction_Staging       | USER_TABLE     | Transaction Staging Key      | 1            | 1                 | NULL         |
| Integration | TransactionType_Staging   | USER_TABLE     | Transaction Type Staging Key | 1            | 1                 | NULL         |
| Integration | City_Staging              | USER_TABLE     | City Staging Key             | 1            | 1                 | NULL         |
| sys         | queue_messages_2041058307 | INTERNAL_TABLE | queuing_order                | 0            | 1                 | NULL         |
| sys         | sqlagent_job_history      | INTERNAL_TABLE | instance_id                  | 1            | 1                 | NULL         |
| sys         | sqlagent_jobsteps_logs    | INTERNAL_TABLE | log_id                       | 1            | 1                 | NULL         |
| sys         | queue_messages_1977058079 | INTERNAL_TABLE | queuing_order                | 0            | 1                 | NULL         |
| sys         | queue_messages_2009058193 | INTERNAL_TABLE | queuing_order                | 0            | 1                 | NULL         |
+-------------+---------------------------+----------------+------------------------------+--------------+-------------------+--------------+

Ví dụ 2 - Chỉ trả lại các bảng người dùng

Ví dụ này sử dụng liên kết bên trong với sys.tables để chỉ trả về các cột nhận dạng từ bảng người dùng.

USE WideWorldImportersDW;
SELECT 
  SCHEMA_NAME(t.schema_id) AS [schema],
  OBJECT_NAME(ic.object_id) AS [table],
  ic.name,
  ic.seed_value,
  ic.increment_value,
  ic.last_value
FROM sys.identity_columns ic 
INNER JOIN sys.tables t 
ON t.object_id = ic.object_id
ORDER BY SCHEMA_NAME(t.schema_id) ASC;

Kết quả:

+-------------+-------------------------+------------------------------+--------------+-------------------+--------------+
| schema      | table                   | name                         | seed_value   | increment_value   | last_value   |
|-------------+-------------------------+------------------------------+--------------+-------------------+--------------|
| Fact        | Movement                | Movement Key                 | 1            | 1                 | 236667       |
| Fact        | Order                   | Order Key                    | 1            | 1                 | 231412       |
| Fact        | Purchase                | Purchase Key                 | 1            | 1                 | 8367         |
| Fact        | Sale                    | Sale Key                     | 1            | 1                 | 228265       |
| Fact        | Stock Holding           | Stock Holding Key            | 1            | 1                 | 227          |
| Fact        | Transaction             | Transaction Key              | 1            | 1                 | 99585        |
| Integration | City_Staging            | City Staging Key             | 1            | 1                 | NULL         |
| Integration | Customer_Staging        | Customer Staging Key         | 1            | 1                 | NULL         |
| Integration | Employee_Staging        | Employee Staging Key         | 1            | 1                 | NULL         |
| Integration | Movement_Staging        | Movement Staging Key         | 1            | 1                 | NULL         |
| Integration | Order_Staging           | Order Staging Key            | 1            | 1                 | NULL         |
| Integration | PaymentMethod_Staging   | Payment Method Staging Key   | 1            | 1                 | NULL         |
| Integration | Purchase_Staging        | Purchase Staging Key         | 1            | 1                 | NULL         |
| Integration | Sale_Staging            | Sale Staging Key             | 1            | 1                 | NULL         |
| Integration | StockHolding_Staging    | Stock Holding Staging Key    | 1            | 1                 | NULL         |
| Integration | StockItem_Staging       | Stock Item Staging Key       | 1            | 1                 | NULL         |
| Integration | Supplier_Staging        | Supplier Staging Key         | 1            | 1                 | NULL         |
| Integration | Transaction_Staging     | Transaction Staging Key      | 1            | 1                 | NULL         |
| Integration | TransactionType_Staging | Transaction Type Staging Key | 1            | 1                 | NULL         |
+-------------+-------------------------+------------------------------+--------------+-------------------+--------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Học máy có ý nghĩa như thế nào đối với các chuyên gia cơ sở dữ liệu

  2. Cách sử dụng Top with Ties trong SQL Server - SQL Server / TSQL Hướng dẫn Phần 114

  3. Truy vấn PIVOT trên các bản ghi riêng biệt

  4. Lấy tất cả các tên bảng của một cơ sở dữ liệu cụ thể bằng truy vấn SQL?

  5. Kích hoạt SQL Server - Phần 2 Trình kích hoạt DDL &LOGON