SELECT Sysobjects.name AS TABLE_NAME ,
syscolumns.Id AS TABLE_ID,
syscolumns.name AS COLUMN_NAME ,
systypes.name AS DATA_TYPE ,
syscolumns.length AS CHARACTER_MAXIMUM_LENGTH ,
sys.extended_properties.[value] AS COLUMN_DESCRIPTION ,
syscomments.text AS COLUMN_DEFAULT ,
syscolumns.isnullable AS IS_NULLABLE,
(case when exists(SELECT 1 FROM sysobjects where xtype= 'PK' and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = syscolumns.id AND colid=syscolumns.colid
))) then 1 else 0 end) as IS_PRIMARYKEY
FROM syscolumns
INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
LEFT JOIN sysobjects ON syscolumns.id = sysobjects.id
LEFT OUTER JOIN sys.extended_properties ON ( sys.extended_properties.minor_id = syscolumns.colid
AND sys.extended_properties.major_id = syscolumns.id
)
LEFT OUTER JOIN syscomments ON syscolumns.cdefault = syscomments.id
WHERE syscolumns.id IN ( SELECT id
FROM SYSOBJECTS
WHERE xtype in( 'U','V') )
AND ( systypes.name <> 'sysname' ) AND Sysobjects.name='tablename' AND systypes.name<>'geometry' AND systypes.name<>'geography' ORDER BY syscolumns.colid
来自sqlsugar的源码,大佬就是大佬,码怪!