sql >> Database >  >> RDS >> Sqlserver

Hoe krijg ik een lijst met kolommen in een tabel of weergave?

In SQL Server 2008 R2 (onder andere versies) zijn er automatisch systeemweergaven bij elke database. Zolang u verbonden bent met de database waar uw tabel zich bevindt, kunt u een query als volgt uitvoeren:

DECLARE @TableViewName NVARCHAR(128)
SET @TableViewName=N'MyTableName'

SELECT b.name AS ColumnName, c.name AS DataType, 
b.max_length AS Length, c.Precision, c.Scale, d.value AS Description
FROM sys.all_objects a
INNER JOIN sys.all_columns b
ON a.object_id=b.object_id
INNER JOIN sys.types c
ON b.user_type_id=c.user_type_id
LEFT JOIN sys.extended_properties d
ON a.object_id=d.major_id AND b.column_id=d.minor_id AND d.name='MS_Description'
WHERE [email protected]
AND a.type IN ('U','V')

Uiteraard is dit slechts een startpunt. Er zijn veel andere systeemweergaven en kolommen beschikbaar in elke database. Je kunt ze vinden via SQL Server Management Studio onder Views > "System Views



  1. JDBC Oracle Thin Client failover naar tweede DB

  2. haal de laatste tekstinvoer van de GROUP BY-instructie op

  3. Postgres CSV COPY van/import respecteert de CSV-headers niet

  4. bestel op XXX sorteer op ASC of DESC, dynamische volgorde, mysql...