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

Rozdzielana przecinkami lista wszystkich kolumn w bazie danych (Nazwa tabeli | Nazwy_kolumn...)

Select TABLE_SCHEMA, TABLE_NAME
    , Stuff(
        (
        Select ', ' + C.COLUMN_NAME
        From INFORMATION_SCHEMA.COLUMNS As C
        Where C.TABLE_SCHEMA = T.TABLE_SCHEMA
            And C.TABLE_NAME = T.TABLE_NAME
        Order By C.ORDINAL_POSITION
        For Xml Path('')
        ), 1, 2, '') As Columns
From INFORMATION_SCHEMA.TABLES As T

Jak wspomniano w komentarzach, powyższe będą obejmować widoki. Jeśli chcesz wykluczyć widoki, możesz wykonać następujące czynności:

Select T.TABLE_SCHEMA, T.TABLE_NAME
    , Stuff(
        (
        Select ', ' + C.COLUMN_NAME
        From INFORMATION_SCHEMA.COLUMNS As C
        Where C.TABLE_SCHEMA = T.TABLE_SCHEMA
            And C.TABLE_NAME = T.TABLE_NAME
        Order By C.ORDINAL_POSITION
        For Xml Path('')
        ), 1, 2, '') As Columns
From INFORMATION_SCHEMA.TABLES As T
    Left Join INFORMATION_SCHEMA.VIEWS As V
        On V.TABLE_SCHEMA = T.TABLE_SCHEMA
            And V.TABLE_NAME = T.TABLE_NAME
Where V.TABLE_NAME Is 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. Sporadyczne awarie połączenia ODBC

  2. Jak mogę wykonać kopię zapasową zdalnej bazy danych SQL Server na dysku lokalnym?

  3. Dlaczego nie mogę użyć aliasu dla agregatu w klauzuli posiadającej?

  4. SQL Server — odpytywanie obiektów systemowych

  5. Jak wyświetlić datę w amerykańskim formacie daty w programie SQL Server (T-SQL)