sql >> Base de Datos >  >> RDS >> Sqlserver

Lista separada por comas de todas las columnas en la base de datos (Nombre de tabla | Nombres_de_columna...)

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

Como se menciona en los comentarios, lo anterior incluirá puntos de vista. Si desea excluir vistas, puede hacer lo siguiente:

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