Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie serwera SQL, aby uzyskać listę kolumn w tabeli wraz z typami danych, ograniczeniami NOT NULL i PRIMARY KEY

Aby uniknąć powielania wierszy dla niektórych kolumn, użyj user_type_id zamiast 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')

Po prostu zastąp YourTableName z twoją rzeczywistą nazwą tabeli - działa dla SQL Server 2005 i nowszych.

Jeśli używasz schematów, zastąp YourTableName przez YourSchemaName.YourTableName gdzie YourSchemaName to rzeczywista nazwa schematu i YourTableName to rzeczywista nazwa tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie maszyn wirtualnych w chmurze z zarządzaną bazą danych w chmurze

  2. LIMIT 10..20 w SQL Server

  3. Co to jest DATALENGTH() w SQL Server?

  4. Korzystanie z SolarWinds Serv-U w systemie Linux z bazą danych uwierzytelniania SQL Server

  5. SQL Server — Przeanalizuj wewnętrzne elementy sp_spaceused