sql >> Databasteknik >  >> RDS >> Sqlserver

Kommaseparerad lista över alla kolumner i databasen (Tabellnamn | Kolumnnamn...)

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

Som nämnts i kommentarerna kommer ovanstående att innehålla synpunkter. Om du vill utesluta vyer kan du göra följande:

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. MySql för många anslutningar

  2. Tidsskillnad inom kontorstid

  3. Hur man formaterar SQLite-frågeresultat i TCL-läge

  4. Hur infogar jag ett värde i en select-sats med JavaScript, speciellt när jag använder express och postgres?