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

Truy vấn máy chủ SQL để lấy danh sách các cột trong bảng cùng với các ràng buộc Kiểu dữ liệu, KHÔNG ĐẦY ĐỦ và CHÍNH CHÍNH

Để tránh các hàng trùng lặp cho một số cột, hãy sử dụng user_type_id thay vì system_type_id.

SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')

Chỉ cần thay thế YourTableName với tên bảng thực của bạn - hoạt động cho SQL Server 2005 trở lên.

Trong trường hợp bạn đang sử dụng lược đồ, hãy thay thế YourTableName bởi YourSchemaName.YourTableName nơi YourSchemaName là tên lược đồ thực tế và YourTableName là tên bảng thực tế.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có hàm Max trong SQL Server nhận hai giá trị như Math.Max ​​trong .NET không?

  2. Giao dịch ngoại lệ ném ngoại lệ nền tảng này không hỗ trợ các giao dịch phân tán trong khi mở đối tượng kết nối

  3. Máy chủ SQL trên Linux

  4. Giá trị cột nhận dạng máy chủ SQL bắt đầu từ 0 thay vì 1

  5. Cách trả về số nhóm tăng dần trên mỗi nhóm trong SQL