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

Jak uzyskać listę kolumn w tabeli lub widoku?

W SQL Server 2008 R2 (między innymi) z każdą bazą danych są dostarczane automatycznie widoki systemowe. Dopóki jesteś połączony z bazą danych, w której znajduje się Twoja tabela, możesz uruchomić zapytanie w ten sposób:

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')

Oczywiście to tylko punkt wyjścia. W każdej bazie danych dostępnych jest wiele innych widoków i kolumn systemowych. Można je znaleźć za pośrednictwem SQL Server Management Studio w sekcji Views > "System Views



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MS SQL pinguje zewnętrzny serwer

  2. Rekurencja CTE w SQL Server 2008

  3. Zapytanie aktualizujące SQL i „podzapytanie zwróciło więcej niż jedną wartość”

  4. classNotFoundException podczas ładowania sterownika JDBC

  5. Dynamiczny SQL do generowania nazw kolumn?