sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server:Extrahera tabellmetadata (beskrivning, fält och deras datatyper)

För att få beskrivningsdata måste du tyvärr använda sysobjects/syscolumns för att få ID:n:

SELECT      u.name + '.' + t.name AS [table],
            td.value AS [table_desc],
            c.name AS [column],
            cd.value AS [column_desc]
FROM        sysobjects t
INNER JOIN  sysusers u
    ON      u.uid = t.uid
LEFT OUTER JOIN sys.extended_properties td
    ON      td.major_id = t.id
    AND     td.minor_id = 0
    AND     td.name = 'MS_Description'
INNER JOIN  syscolumns c
    ON      c.id = t.id
LEFT OUTER JOIN sys.extended_properties cd
    ON      cd.major_id = c.id
    AND     cd.minor_id = c.colid
    AND     cd.name = 'MS_Description'
WHERE t.type = 'u'
ORDER BY    t.name, c.colorder

Du kan göra det med info-schema, men du måste sammanfoga osv för att anropa OBJECT_ID() - så vad skulle vara poängen?



  1. Hur man gör SQLites LIKE-operatör skiftlägeskänslig

  2. MySQL i molnet - Onlinemigrering från Amazon RDS till din egen server:Del 2

  3. Uppdatera en MySQL-tabell med värden från en annan

  4. Dold funktion:Dra och släpp åtkomstobjekt mellan filer