sql >> Databáze >  >> RDS >> Sqlserver

Čárkami oddělený seznam všech sloupců v databázi (Tablename | Column_names...)

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 je uvedeno v komentářích, výše uvedené budou zahrnovat názory. Pokud chcete vyloučit zobrazení, můžete provést následující:

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. Cizí klíč Mysql pomocí nejedinečného klíče - jak je to možné?

  2. Rekurzivní funkce PHP k odstranění všech podřízených uzlů způsobuje přetečení zásobníku

  3. MySQL group_concat() řazení podle hodnot příkazu case

  4. Php mysql vytvořit databázi, pokud neexistuje